windows socket api: Setsockopt()(10分)

  • 主题发起人 主题发起人 xueji93660007
  • 开始时间 开始时间
X

xueji93660007

Unregistered / Unconfirmed
GUEST, unregistred user!
[?]
1、
x_length:=0;
PX_size:=SIZEOF(X_LENGTH);
ret:=sETSOCKOPT(X_SOCKET,SOL_SOCKET,SO_RCVBUF,@X_LENGTH,Px_size);
2、
x_length:=1;
PX_size:=SIZEOF(X_LENGTH);
ret:=sETSOCKOPT(X_SOCKET,SOL_SOCKET,SO_RCVBUF,@X_LENGTH,Px_size);
问题:
1、在本人的服务端程序中将接收缓存区设成 0 和 1 好象没有什么区别,为什么?
2、设成 0 或 1 ,通过COUNT:=recv(x_socket,x_prev^,1,0);每次接收一个字符,
为什么接收缓存区不溢出?
 
接收缓冲区要是溢出说明你用的OS的tcp/ip的实现有问题!
如果你将接收缓冲区设置为0,当调用recv等接收函数的时候,数据直接到你的缓冲区,如果你没有
调用接收函数,那不会有任何数据传入你机器
 
请问设接收缓存区大小有什么意义?谢谢!
 
后退
顶部