socket tcp 文件传输 速度慢
socket tcp 文件传输 速度慢,主要代码如下
void ReceiveFile()
{
const int length = 1024;
FileStream filestream = new FileStream(filetemp, FileMode.OpenOrCreate, FileAccess.Write);
NetworkStream ns = new NetworkStream(socket);
byte[] buffer = new byte[length];
long haveRead = 0;
//把流的信息写入新文件中
while (haveRead <filelength)
{
int size = ns.Read(buffer, 0, length);
filestream.Write(buffer, 0, size);
filestream.Flush();
if (size > 0)
{
haveRead += Convert.ToInt64(size);
}
}
filestream.Close();
}
public void SendFile(Socket socket, string filename)
{
NetworkStream stream = new NetworkStream(socket);
try
{
FileStream filestream = new FileStream(filename, FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[1024];
filestream.Seek(0, SeekOrigin.Begin);
int number = 0;
while ((number = filestream.Read(buffer, 0, 1024)) != 0)
{
stream.Write(buffer, 0, number);
stream.Flush();
Console.WriteLine(filestream.Position);
}
filestream.Close();
stream.Close();
}
catch (Exception ex)
{
Log.Write(ex.Message);
}
finally
{
socket.Shutdown(SocketShutdown.Both);
socket.Close();
}
}
大家帮我看看哈 ,在局域网的速度只有每秒0.5M ,速度实在是有点低。