当前位置: 技术问答>linux和unix
客户端只发了一句话,为什么非阻塞服务器端可以收到n多句一样的话?
来源: 互联网 发布时间:2016-02-03
本文导语: 这是自己学习用的一段代码 在client和server建立TCP/IP的连接以后 client端发一句话给server,然后就无限循环的停在那里,代码如下: --------------- client.c ------------------- …… char sendbuf[] = "123456789012345...
这是自己学习用的一段代码
在client和server建立TCP/IP的连接以后
client端发一句话给server,然后就无限循环的停在那里,代码如下:
--------------- client.c -------------------
……
char sendbuf[] = "1234567890123456789";
……
write(sockfd, sendbuf, strlen(sendbuf));
while(1)
{
sleep(10);
}
------------------------------------------------
然后server端读取client发来的这句话,为了让server在套接口没数据的时候停止读往下继续运行,我将套接口设置成非阻塞的,代码如下:
---------------- server.c -----------------------
#define MAXLINE 4096
……
val = fcntl(sockfd, F_GETFL, 0);
if(val
在client和server建立TCP/IP的连接以后
client端发一句话给server,然后就无限循环的停在那里,代码如下:
--------------- client.c -------------------
……
char sendbuf[] = "1234567890123456789";
……
write(sockfd, sendbuf, strlen(sendbuf));
while(1)
{
sleep(10);
}
------------------------------------------------
然后server端读取client发来的这句话,为了让server在套接口没数据的时候停止读往下继续运行,我将套接口设置成非阻塞的,代码如下:
---------------- server.c -----------------------
#define MAXLINE 4096
……
val = fcntl(sockfd, F_GETFL, 0);
if(val