1.在TCP中,是不是要求接收缓冲>=发送缓冲?
2.假如不是, 程序会不会出问题? 会出什么样的问题? 怎样解决?
-_-我是菜鸟,麻烦各位给点看法,最好用代码说话,伪代码也行.

解决方案 »

  1.   

    当我的接收缓冲<<<发送缓冲(是装满了的)时,连续发送一会儿后,就报错了.
      

  2.   

    你只要不管接收不接收,一直发好了,TCP自己会判断的
      

  3.   

    会报错的,因为对方的接收窗口已经满了,所以发送端收到的窗口大小为0,所以发送端不能发送数据。如果你现在还循环的调用send发送数据,数据不断的向系统缓冲区拷贝,那么会致使发送端的发送滑动窗口填满,这是会返回发送窗口已满,不能发送的错误。在这种情况下,要停止发送,过一段时间发送窗口不满的时候,就可以继续发送了。不必要因为有错误而关闭socket