关于Socket 异步读取的小问题,在线等,问题解决立即给分 本帖最后由 redstill 于 2011-04-22 12:11:16 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的兄弟 不管收包收到多大的 我每次只从流里面读取1024个字节 所以这里并没有错现在还有一个问题 如果有人能解决 同样给分networkstream.write(byte[]) 这个方法 在写入小数据量的时候没有发生问题,但是一旦数据量过大,写入的时候没有问题,但是读取的时候 发现 完整的信息被切成了两段,而且是不连续的.这是因为什么呢~要怎样避免这样的事情发生呢 原因:WSABUF数据结构没有初始化!使用new来分配的,没有调用缺省的构造函数来初始化,所以导致这一问题。 http://blog.csdn.net/qiuqingpo/archive/2010/04/02/5445808.aspx 楼上的朋友 能不能具体给断代码呢 现在我的问题还有个 就是向流里写入数据的时候 在对方读取的时候 会发现流被切成了两断 而且是不连续的 请问流的大小有上限么 是不是达到这个上限之后 stream在write的时候 就会分两次写入呢 能不能设置这个大小 兄弟,我解决了这个问题,不知道你的问题是否和我一致。我的问题是BeginRead调用太频繁了,即使没有数据到也去调用,导致系统资源耗光了。if (stream.CanRead && _client.Available > 0){ stream.BeginRead(_myReadBuffer, 0, _myReadBuffer.Length, ReadCallBack, stream);}解决办法:在调用BeginRead先判断缓冲区是否有数据到了就可以了。_client.Available > 0 access数据库的连接类问题? 实例化的类怎么show()出form窗口 线程问题 编译器错误信息: CS0122: 不可访问,因为它受保护级别限制 。这是为什么啊?在线等 利用DATASET,怎么返回一个存储过程output的值 请高手帮个忙,动态编译出错?谢谢!! 一个奇怪的问题(web from) 关于非重复计数的问题 @@@@@@@@@@c#里面汉字字符串默认的编码是什么编码? WinDes是什么啊? 急!水晶报表如何从两个表中读取数据,怎么设置传入参数 怎样将C#写的DLL转成C,C++,Delphi里面能调用的DLL?
networkstream.write(byte[]) 这个方法 在写入小数据量的时候没有发生问题,但是一旦数据量过大,写入的时候没有问题,但是读取的时候 发现 完整的信息被切成了两段,而且是不连续的.这是因为什么呢~
要怎样避免这样的事情发生呢
我的问题是BeginRead调用太频繁了,即使没有数据到也去调用,导致系统资源耗光了。
if (stream.CanRead && _client.Available > 0)
{
stream.BeginRead(_myReadBuffer, 0, _myReadBuffer.Length, ReadCallBack, stream);
}
解决办法:在调用BeginRead先判断缓冲区是否有数据到了就可以了。
_client.Available > 0