这个WCF用的好像是固定配置65535
如果数据大于这个数的话就会报错
个人感觉你Socket的话 加一个开始和结束标记
#Start#
#End#
这个样子吧
知道接收到了End标记 才解析
如果数据大于这个数的话就会报错
个人感觉你Socket的话 加一个开始和结束标记
#Start#
#End#
这个样子吧
知道接收到了End标记 才解析
解决方案 »
- 因为方法“get_Worker”没有实现(没有 RVA)。
- RDLC报表的控件坐标怎么在程序中修改??
- 求一正则表达式的写法
- 关于button总是刷新的问题,求助!
- 恢复隐藏的窗体
- 水晶报表中如何显示图片?
- c# 怎么从一个里表中一次读取一行字符串啊
- 有人做过组件开发吗?
- 读取Access OLE 对象.(兄弟们帮帮忙)!!!
- 如何添加Com.Objsys.Asn1.Runtime
- C#Winform用ContextMenuStrip做右键菜单点击右键如何让他弹出来的菜单显示在点击处
- C# winfrom 随机生成多个picturbox控件 如何有效判断我点击哪一个控件就能获取这个控件的name
对于这种不定长度的数据,你就得自己制定约定,例如第一次发送方发送数据的长度,接收方收到后给个回应,发送方收到回应在开始发送数据,接收方根据长度循环接收数据,直到长度达到要求,然后再给接收方个答复,接收完毕。这就可以算作完整的一次通信。
你可以利用EnumSocketType来定义多个枚举,比如定义一个datalength枚举,表示这个包是数据长度包,此时object里的数据就是数据长度。定义一个response枚举,表示客户端的成功应答等等。。
这种数据长度包和成功应答包最多一二百个字节,你不用担心会被分包导致接收端分两次接收。一个包是否会被分包这个跟网络的MTU有关,一般少于1400字节-1500字节的包都不会被分包
对于这种不定长度的数据,你就得自己制定约定,例如第一次发送方发送数据的长度,接收方收到后给个回应,发送方收到回应在开始发送数据,接收方根据长度循环接收数据,直到长度达到要求,然后再给接收方个答复,接收完毕。这就可以算作完整的一次通信。
你可以利用EnumSocketType来定义多个枚举,比如定义一个datalength枚举,表示这个包是数据长度包,此时object里的数据就是数据长度。定义一个response枚举,表示客户端的成功应答等等。。
这种数据长度包和成功应答包最多一二百个字节,你不用担心会被分包导致接收端分两次接收。一个包是否会被分包这个跟网络的MTU有关,一般少于1400字节-1500字节的包都不会被分包
我去都结贴了,白忙活了