当前位置:我的异常网» C# » c# socket怎么传输大数据
c# socket怎么传输大数据
www.myexceptions.net 网友分享于:2013-09-24 浏览:130次
c# socket如何传输大数据
我服务端通过SOCKET向客户端发送大数据(M以上的数据),数据大后,容易掉包,用多线程的话不掉包,但是速度又比较慢了。
请教各位大神了!
------解决方案--------------------
const int blockLength=512*1024;
public void SendFile(string filePath, NetworkStream stream) //发送文件
{
//传输内容
using (FileStream fs = File.Open(filePath, FileMode.Open))
{
int readLength = 0;
byte[] data = new byte[blockLength];
//发送大小
byte[] length = new byte[8];
BitConverter.GetBytes(new FileInfo(filePath).Length).CopyTo(length, 0);
stream.Write(length, 0, 8);
//发送文件
while ((readLength = fs.Read(data, 0, blockLength)) > 0)
{
stream.Write(data, 0,