[开发工具] Socket 编程

[复制链接]
 楼主| 小夏天的大西瓜 发表于 2024-2-29 12:00 | 显示全部楼层 |阅读模式

Socket 编程是 Linux 应用程序中常用的一种网络编程方式。通过使用套接字(Socket),可以实现进程间的通信和网络通信。常见的 Socket 编程包括创建套接字、绑定地址、监听连接、接受连接、发送和接收数据等操作。

  1. <p>#include <sys/socket.h></p><p>#include <netinet/in.h></p><p>#include <unistd.h></p><p>#include <iostream></p><p>
  2. </p><p>int main() {</p><p>    // 创建套接字</p><p>    int serverSocket = socket(AF_INET, SOCK_STREAM, 0);</p><p>
  3. </p><p>    // 绑定地址</p><p>    sockaddr_in serverAddress;</p><p>    serverAddress.sin_family = AF_INET;</p><p>    serverAddress.sin_port = htons(8080);</p><p>    serverAddress.sin_addr.s_addr = INADDR_ANY;</p><p>    bind(serverSocket, (struct sockaddr*)&serverAddress, sizeof(serverAddress));</p><p>
  4. </p><p>    // 监听连接</p><p>    listen(serverSocket, 5);</p><p>
  5. </p><p>    // 接受连接</p><p>    int clientSocket = accept(serverSocket, NULL, NULL);</p><p>
  6. </p><p>    // 发送和接收数据</p><p>    char buffer[256];</p><p>    read(clientSocket, buffer, sizeof(buffer));</p><p>    std::cout << "Received: " << buffer << std::endl;</p><p>    write(clientSocket, "Hello from server!", 18);</p><p>
  7. </p><p>    // 关闭套接字</p><p>    close(clientSocket);</p><p>    close(serverSocket);</p><p>
  8. </p><p>    return 0;</p><p>}</p>


狄克爱老虎油 发表于 2024-2-29 17:40 | 显示全部楼层
这个是不就是tcp/ip的接口
heisexingqisi 发表于 2024-2-29 22:14 | 显示全部楼层
以太网的基本操作。
结合国际经验 发表于 2024-8-31 20:16 | 显示全部楼层
实际使用中,套接字编程时应该添加错误处理代码。
结合国际经验 发表于 2024-8-31 20:16 | 显示全部楼层
对于读取的数据,应该确保正确地终止字符串。例如,如果读取的数据未以空字符结束,std::cout 可能会输出垃圾数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

265

主题

2247

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部