用socket传送较大数据,怎么做,谢谢大家!

solares1 2004-05-06 11:00:55
我用socket进行数据传送,如果传送数据较大,1M以上,怎么办呢?望给出有效代码
我开始想把数据分解为多个包,但失败了,如解决问题,将再加100分
...全文
155 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
solares1 2004-05-06
我用的是tcp
witboy(吴春江) :能否给段代码拜读?
  • 打赏
  • 举报
回复
witboy 2004-05-06
设计数据格式:总大小,缓存大小。丢失?希望你用的不是UDP,还有编码(UTF8、UNIcode)不要混用,怎么编码,怎么解码
  • 打赏
  • 举报
回复
solares1 2004-05-06
传送丢包,有时候会有乱码,如果较大,则后面的部分全丢了,总的来说,极不稳定
我把byte设为256,传2k的字节 调试
elusion(落):能给段代码吗?
  • 打赏
  • 举报
回复
elusion 2004-05-06
能讲讲为什么失败了吗?
  • 打赏
  • 举报
回复
jackjiyu 2004-05-06
关注
  • 打赏
  • 举报
回复
buhuibba 2004-05-06
我的问题是进行多个文件传输时怎样才能判断开始和结束?各位帮帮忙
你可以使用分割文件的方法
FileInfo fi = new FileInfo(yourfile);

int imgdatalen=(int)fi.Length;
byte[] imgdata = new byte[imgdatalen];
Stream imgdatastream=fi.OpenRead();
int n=imgdatastream.Read(imgdata,0,imgdatalen);
imgdatastream.Close();
int length=1000;
int mm=imgdatalen/length;
int nn=imgdatalen%length;
netStream=new NetworkStream(connectSock);
for(int y=0;y<mm;y++) netStream.Write(imgdata,y*length,length);
netStream.Write(imgdata,mm*length,nn);
netStream.Flush();
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2004-05-06 11:00
社区公告

让您成为最强悍的C#开发者