你send的时候能一下全部send出去吗?

解决方案 »

  1.   

    我曾经接收过挺大一个串包的.因为我的包有固定的格式,所以我就先 string s=""; 然后收到串 就 s+=se.readToEnd(); 判断是否到了最后,如果到了就解析去,如没结束就等待下一个Arrived事件. 我曾经试过,一个很大的包TCP过来时,由于网络等原因,不一定能全部在一个事件中全部捕获,有可能分成2-3个,而且同样的包也不一定分的相同.所以不能一次读完可能是由于Arrived事件捕获的间隔造成的吧.
      

  2.   

    我做了一个测试,在服务器端sleep10秒钟,客户端就可以一次收完,但这个办法有点莫名其妙,有更好的方法吗?下面是代码
    System.Threading.Thread.Sleep(10000);
    ns.Write(byteTime, 0, byteTime.Length);
      

  3.   

    有没有搞错这么大的包。
    了解一下IP/TCP的基础吧。
    这么在的包。会丢包的。