|
|
在使用winsock的TCP编程时,有以下问题:
1.使用recv接受数据时,可不可能发生这种情况:另一端连续好几次调用了send函数发了几组数据,而接受方缓冲又设的足够大,所以它一次调用recv就接受到了这些所有的数据?
2.如果以上的答案是肯定的,那会不会出现以下情况:发送方两次调用两次send,第一次发送了100字节,第二次发送了200字节。接受方也是调用了一次recv,而且它的buf只有150,那么它是不是至接受到了100+第二次发送的前50个字节?
3.如果是这样的话,在设计服务端-客户端的协议时,如果服务端提供很多服务,是不是就意味着,必须开不同的端口来为一个客户端提供不同的服务以避免只用一个端口时不同服务协议的数据处理的麻烦?这样的话,一台服务器似乎只能接受10000左右的客户连接(如果提供几个服务的话) |
|