-
创建套接字
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
相关推荐
hanyi_qwe17 小时前
文本三剑客--awkliu****17 小时前
27.epoll(三)云飞云共享云桌面18 小时前
如何降低非标自动化工厂的研发软件采购成本泰克教育官方账号18 小时前
泰涨知识 | 什么是自动化巡检?怀旧,18 小时前
【Linux系统编程】7. 进程的概念(上)7***n7519 小时前
API网关设计模式时代新威powertime19 小时前
等保三级|安全通信网络自评估指南国服第二切图仔20 小时前
检测隧道HTTP代理的可用性的几种方法JH307320 小时前
引依赖包和对这个包发起rpc调用有什么区别zzzsde20 小时前
【Linux】基础开发工具(1):软件包管理器&&vim编辑器