|
|
服务器端
void mian()
{
SOCKET s = socket(....);
SOCKADDR_IN addr;
addr = ......;
bind(....);
listen(....);
SOCKET cs = accept(....);
char buf[1024];
while(recv(....))
{
printf("%s\n",buf);
}
}
客户端
void main()
{
SOCKET s = socket(....);
SOCKADDR_IN addr;
addr = ......;
connect(....)
char *buf = "aa_"
for(int i=0;i<100;i++)
send(buf....);
}
客户端用send连续发了100个包,
为什么客户端recv只接收了1次,
并且while循环里面也执行了一次,
printf出来的内容是这100个包的一个字符串,只执行了1次
服务端recv了一次,把客户端的100次send全接收了。
这是怎么回事啊
如果客户端口里面的send好了,sleep(1)的话,
服务器端有是接收了100次包,while执行了100次 |
|