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

solares1 2004-05-06 11:00:55
我用socket进行数据传送,如果传送数据较大,1M以上,怎么办呢?望给出有效代码
我开始想把数据分解为多个包,但失败了,如解决问题,将再加100分
...全文
193 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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();

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧