clientsockent/serversockent做了一个文件发送的,模拟QQ一样的,
可是经常因为数据接收到一半,就停止了,每次接收数据后都会发送一个指令状态,说明数据是否接收完成,如果没有,就继续接收,可是不知道怎么啦,每次发送数据都接收不到或者接收一半
如果一步一步进行调试,每次数据都能接收成功..
郁闷!!

解决方案 »

  1.   

    网络问题,
    你换一个网络IO模型
    比如用select模型.
      

  2.   

    是不是用的UDP?发送大包?
    把要发的数据小一点试试,最好小于 1500字节
      

  3.   

    "如果一步一步进行调试,每次数据都能接收成功.. "
    应该是由于通讯延时造成的和你之前的问题一样,控件设置成block模式就可以了
      

  4.   

    是你发送没有成功。你应该是一个循环连续发送的吧,时间间隔很短,系统还来不及把Socket的缓冲区的数据发出。而你调试,是因为有停顿,系统有足够的时间把缓冲区的数据发送出去。
    SendBuf有返回值,你要判断返回值是否是你的期望值,才能决定是否发送下一包,否则要重新发这一个数据包。