c#.net Tcp socket 接收时数据丢失 本帖最后由 tanbiao1987 于 2010-07-12 14:29:22 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 bDataBuf空间足够,iDataBufLen申明为ushort类型,所以转换一下。这里会有什么问题? 貌似没发现Socket.Receive(byte[],int,int)这个重载 就是这个,只不过最后一个参数用0代替,貌似相当于SocketFlags.None。测试过,结果一样的,还是只能收到2条数据。是否SocketFalgs要换成其他模式?请教 只有接收端的代码.....没办法看的服务器连续发送几条数据过来,客户端while(true)循环接收结果只能接收到前面两条数据,后面还有数据接收不到。从这2句话看,很有可能是出现的粘包啦.....Tcp如果连续发送数据...最好自己先定义好一个发送接收的规则http://blog.csdn.net/wxm3630478/archive/2010/05/31/5636446.aspx 接收程序不中止,因为服务器端指不定什么时候发数据过来,所以循环接收。如果接收不到数据iDataBufLen = (ushort)accsock.Receive(bDataBuf, bDataBuf.Length, 0);这里应该会挂起等待吧接收程序停一下?是不是处理数据的时候出错了,或者其他原因,会导致数据找不到是谁的了?坐等,谢谢了 黑大哥正解,按照你发链接的提示,问题解决,果然是黏包了...分数不多,照样散分,TKS。 关于在VS2008下,用C#类库工程生成的DLL文件的注册问题!急,在线等! 请问如何让DATAGRIDVIEW占满整个窗口? List<T> 是不是只在C2.0 中才有?这样写法? 求段图片显示的代码,谢谢了。 有没有在关闭窗口的同时也关闭别的窗口的方法 由事件动态生成的按钮的事件无法运行!! winform程序的登陆超时应该如果实现 如何根据一个月份得出这个月的天数? c#初学者必看 如何用vs2008 编写c#程序 帮忙给解释下问号的意思作用 求救啊...一个10MB的html文件系统读取卡死了.!
服务器连续发送几条数据过来,客户端while(true)循环接收
结果只能接收到前面两条数据,后面还有数据接收不到。
从这2句话看,很有可能是出现的粘包啦.....Tcp如果连续发送数据...最好自己先定义好一个发送接收的规则http://blog.csdn.net/wxm3630478/archive/2010/05/31/5636446.aspx
如果接收不到数据iDataBufLen = (ushort)accsock.Receive(bDataBuf, bDataBuf.Length, 0);
这里应该会挂起等待吧
接收程序停一下?是不是处理数据的时候出错了,或者其他原因,会导致数据找不到是谁的了?
坐等,谢谢了
分数不多,照样散分,TKS。