...
...
... //前面代码省略byte [] receivebytes = new byte [1024 ]; //这个1024是什么意思
int successReceiveBytes = clientSocket.Receive(receivebytes );
Receive (Byte[])方法:http://msdn.microsoft.com/zh-cn/library/8s4y8aff.aspx
MSDN的解释是:Receive方法的参数是Byte类型的数组,它是存储接收到的数据的位置。
我想问的是:new一个byte[]数组,字节数大小1024是自己指定的,如果接收的数据大于1024,岂不是丢失数据吗?
解决方案 »
- c#.记事本问题
- 为什么生成注释的xml文件中 不包括这些注释?
- 请问超图(supermap)的SuperMap.IS.AjaxControls.dll跟SuperMap.IS.WebControls.dll有什么区别?
- 发一个程序,大家帮我看看,问题是“Web Service下使用NHibernate遇到的问题”
- 再问C#中调用dll的问题(请Knight94(愚翁)、kssys和各位高手再看)
- c#连sqlserver 2000登陆失败的问题
- matlab与C#接口打包问题,有知道的帮个忙,急。。
- 求助:用COM对象编程时,解决版本兼容的问题
- 100分谁能给我一个C#简单数据库应用实例!
- 我想从vb.net转到c#
- 关于一个多表查询字段相加的问题,请指教!
- 请教: WCF 异步调用方法问题
int i;
int successReceiveBytes=1024;//缓冲区大小,你喜欢多大就多大,一般不超过2000,因为记得一次发送数据的大小好像 1千45左右,可以发送多次
byte [] receivebytes = new byte [1024 ]; //这个1024 同上
while(receivebytes!=1024)
{
successReceiveBytes = clientSocket.Receive(receivebytes );//这个方法,你看看有没有重载,貌似有设置一次取多少的参数
for(i=0;i<successReceiveBytes ;i++)//临时取的,有多少都导入大容器
{
bs.Add(receivebytes[i]);
}
}
bs.ToArray();//你可能用的上
手写的,有错误见谅
强烈关注泛型List<byte>是否能解决此问题,求教各位达人。
果断打开这个链接
你的设置的是接受数据的缓冲区, 它跟 TCP 协议使用的缓冲区是两码事。 TCP 协议是面向链接的协议,它只会断线,不会丢失数据。