c#网络通信

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:59:57
客户端接受数据我想把数据存成byte[]
我这样定义的
byte[] ss=new byte[100]
接受
stream.Read(ss, 0, 100);
可是如果服务端传的数据时是9000或则更大我该怎样接受存到byte[]中呢
不可以的
不能预先定义byte大小 应为没有残生data
不能分段发啊
我在发送端已经把 datatable转换成了dyte[] ,在接受端准备把byte在转成datatable的

可不可以试着不设置数组长度,
读取的时候stream.Read(ss, 0, ss.length);
这样来读取呢?
这样的话只能循环分段读取。

1, 要么动态定义byte[]大小

byte[] ss;

ss = new byte[datalength];

2, 要么定义一个固定长度的数组后,分段接收数据

发送的数据不能超过1024
所以你要以1024为界限,分段发送!

网络通信socket 情况下一般传输1024个字节他会陆续的给你发。你只管接受,接受完为止。但你的beyt设为1024即可