当前位置: 首页 > 产品 > 正文

环球热资讯!TCPserver如何与多个client通信?

来源:面包芯语    时间:2023-05-05 14:21:22


(资料图)

首先,需要注意的是,我们创建tcp_server的方式为:

左右滑动查看全部代码>>>

intserver_fd=tcp_init(NULL,4321);
inttcp_init(constchar*ip,intport){intoptval=1;intserver_fd=socket(AF_INET,SOCK_STREAM,0);if(server_fd<0){perror("socket");return-1;}/*解除端口占用*/if(setsockopt(server_fd,SOL_SOCKET,SO_REUSEADDR,&optval,sizeof(optval))<0){perror("setsockopt\n");return-1;}structsockaddr_inserver_addr;bzero(&server_addr,sizeof(structsockaddr));server_addr.sin_family=AF_INET;server_addr.sin_port=htons(port);if(NULL==ip){server_addr.sin_addr.s_addr=htonl(INADDR_ANY);}else{server_addr.sin_addr.s_addr=inet_addr(ip);}if(bind(server_fd,(structsockaddr*)&server_addr,sizeof(structsockaddr))<0){perror("bind");close(server_fd);return-1;}if(listen(server_fd,MAX_CONNECT_NUM)<0){perror("listen");close(server_fd);return-1;}returnserver_fd;}

我们使用INADDR_ANY来创建server。

INADDR_ANY:表示不确定地址,或所有地址、任意地址。也就是表示本机的所有IP,因为有些机子不止一块网卡,多网卡的情况下,这个就表示所有网卡ip地址的意思。

192.168.1.107127.0.0.1

下面使用我们本机上两个client连接server并进行数据交互:

好了,以上就是本次demo演示的server同时与4个client通信的小实验,希望这篇文章能对大家有所帮助!

X 关闭

资讯

最近更新

Copyright ©  2015-2022 东方洁具网  版权所有    
备案号:沪ICP备2020036824号-8     
 联系邮箱:562 66 29@qq.com