这个WCF用的好像是固定配置65535
如果数据大于这个数的话就会报错
个人感觉你Socket的话 加一个开始和结束标记
#Start# 
#End#
这个样子吧
知道接收到了End标记 才解析

解决方案 »

  1.   

    道理来说 应该不能.UDP不知道 反正TCP好像不能.正常的协议 都有头 尾 以及校验位的..
      

  2.   

    数据包乱序的问题tcp协议已经替用户处理好了,不用担心顺序;用序列化处理大数据的效率比较低。
      

  3.   


    对于这种不定长度的数据,你就得自己制定约定,例如第一次发送方发送数据的长度,接收方收到后给个回应,发送方收到回应在开始发送数据,接收方根据长度循环接收数据,直到长度达到要求,然后再给接收方个答复,接收完毕。这就可以算作完整的一次通信。
    你可以利用EnumSocketType来定义多个枚举,比如定义一个datalength枚举,表示这个包是数据长度包,此时object里的数据就是数据长度。定义一个response枚举,表示客户端的成功应答等等。。
    这种数据长度包和成功应答包最多一二百个字节,你不用担心会被分包导致接收端分两次接收。一个包是否会被分包这个跟网络的MTU有关,一般少于1400字节-1500字节的包都不会被分包
      

  4.   


    对于这种不定长度的数据,你就得自己制定约定,例如第一次发送方发送数据的长度,接收方收到后给个回应,发送方收到回应在开始发送数据,接收方根据长度循环接收数据,直到长度达到要求,然后再给接收方个答复,接收完毕。这就可以算作完整的一次通信。
    你可以利用EnumSocketType来定义多个枚举,比如定义一个datalength枚举,表示这个包是数据长度包,此时object里的数据就是数据长度。定义一个response枚举,表示客户端的成功应答等等。。
    这种数据长度包和成功应答包最多一二百个字节,你不用担心会被分包导致接收端分两次接收。一个包是否会被分包这个跟网络的MTU有关,一般少于1400字节-1500字节的包都不会被分包

    我去都结贴了,白忙活了