打印
[开发工具]

Socket 编程

[复制链接]
477|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

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

<p>#include <sys/socket.h></p><p>#include <netinet/in.h></p><p>#include <unistd.h></p><p>#include <iostream></p><p>
</p><p>int main() {</p><p>    // 创建套接字</p><p>    int serverSocket = socket(AF_INET, SOCK_STREAM, 0);</p><p>
</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>
</p><p>    // 监听连接</p><p>    listen(serverSocket, 5);</p><p>
</p><p>    // 接受连接</p><p>    int clientSocket = accept(serverSocket, NULL, NULL);</p><p>
</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>
</p><p>    // 关闭套接字</p><p>    close(clientSocket);</p><p>    close(serverSocket);</p><p>
</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 | 只看该作者
实际使用中,套接字编程时应该添加错误处理代码。

使用特权

评论回复
5
结合国际经验| | 2024-8-31 20:16 | 只看该作者
对于读取的数据,应该确保正确地终止字符串。例如,如果读取的数据未以空字符结束,std::cout 可能会输出垃圾数据。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

206

主题

1815

帖子

2

粉丝