-
创建套接字
int sockfd = socket(AF_INET, SOCK_STREAM, 0);AF_INET:IPv4 协议SOCK_STREAM:TCP 流式套接字0:默认协议
-
绑定 IP 和端口
struct sockaddr_in serv_addr; memset(&serv_addr, 0, sizeof(serv_addr)); serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = INADDR_ANY; // 任意网卡 serv_addr.sin_port = htons(8080); // 端口号 bind(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)); -
监听连接
listen(sockfd, 5); // 最大等待队列长度为5 -
接受连接
struct sockaddr_in cli_addr; socklen_t len = sizeof(cli_addr); int connfd = accept(sockfd, (struct sockaddr*)&cli_addr, &len);- 返回一个新的套接字
connfd用于与客户端通信 - 原套接字
sockfd继续用于接受其他连接
- 返回一个新的套接字
-
数据交互
char buffer[1024]; recv(connfd, buffer, sizeof(buffer), 0); // 接收数据 send(connfd, buffer, strlen(buffer), 0); // 发送数据 -
关闭连接
close(connfd);
tcp 服务器的设计思路
芝士小宇2025-10-08 21:46
相关推荐
消失的旧时光-194310 分钟前
Linux 编辑器入门:nano 与 vim 的区别与选择指南莽撞的大地瓜27 分钟前
洞察,始于一目了然——让舆情数据自己“说话”那就回到过去43 分钟前
MSTP路由协议简介浩浩测试一下1 小时前
内网---> WriteOwner权限滥用starfire_hit1 小时前
JAVAWEB根据前台请求获取用户IPJava后端的Ai之路2 小时前
【Python 教程14】- 网络编程learning-striving2 小时前
kali连不上网解决方法云边有个稻草人2 小时前
打工人摸鱼新姿势!轻量斗地主服务器,内网穿透让同事远程联机不翻车阿钱真强道2 小时前
12 JetLinks MQTT直连设备事件上报实战(继电器场景)九.九2 小时前
CANN HCOMM 底层机制深度解析:集合通信算法实现、RoCE 网络协议栈优化与多级同步原语