TCPClient关于断点续传 用TCPClient可以实现断点续传么?大家有什么好的想法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实现断点续传是程序逻辑(业务)问题,具体地说是通信协议的问题...跟TCPClient没有任何关系...另外...断点续传需要在C/S两端都实现... 我就是想问客户端如何提出断线续传这个消息。。在下载时,客户端不断接受数据,服务器不断传输数据!,那么怎么中断这个循环附上客户端:while (total < size) { receivedata = nws.Read(filebyte, total, dataleft); total += receivedata; dataleft = size - total; }服务器:while ((read = file.Read (sendBuffer, 0, sendBuffer.Length)) != 0) { nws.Write(sendBuffer, 0, read); total += read; Thread.Sleep(5); }NetWorkStream nws=TcpClient.GetStream(); 最简单加个停止标志呗while(!pauseFlag){ if(total<size){...}} 但是现在有个问题~在下载是主界面会假死,无法由button改变这个pauseFlag 还有后续的nws怎么办呢?服务器还是不断传输数据的~ 我想到一个方法是,服务器的nws.write();还是不断向客户端发送数据,但是此时客户端并没有接受,那么服务器一直处于阻塞状态。那么如果让这个nws可以在指定时间内write就好了,如果超时了就不在write了~可以实现么? 这不是废话。一。设计断点续传,他是分块发送,每个文件,都是分成N块来发送,一次发送成功后,记录块数量,二次要是发送不成功。出异常出去了。那么成功块号就是前面的块号。在第二次连接服务器时,先发送块号+1,服务器就会用块号来计算该从哪个位置取数据发送。这样就可以实现了断点续传。一块不要大,4M这样。,断了也就是断了4M,不会重复下载很多。我是这么做得。不知道高手有更好的方法不? c#实体类实例 为什么是引用关系啊? 外部接口需求具体怎么写 长度为小于或等于4的字符串,怎么在前面补0,不齐成4位的? 如何用C#在WINFORM中,制作自定义的流程图或者是工作流? 100 分求 .net c# + oracle 的类似BBS的源码 解决方案文件~~~~~ 请问windows xp professional 作为C#的开发环境性能如何? 在.net中,是否可以用程序来打开本地的一个文件夹 Word在C#里的问题 气死我了!!!!快来看看吧! 在VSC#窗体应用中数据库连接数据出现的问题 这个程序有什么问题 串口通信未收到数据的处理方法
附上
客户端:
while (total < size)
{ receivedata = nws.Read(filebyte, total, dataleft);
total += receivedata;
dataleft = size - total;
}
服务器:
while ((read = file.Read (sendBuffer, 0, sendBuffer.Length)) != 0)
{
nws.Write(sendBuffer, 0, read);
total += read;
Thread.Sleep(5);
}
NetWorkStream nws=TcpClient.GetStream();
while(!pauseFlag)
{
if(total<size){...}
}