好的,所以我写了一些非常简单的客户端-服务器程序(在C#中使用.net)。
当我尝试将字符串从客户端传输到服务器时,它工作正常,但是当我尝试将文件从客户端传输到服务器时,我得到了例外:
System.IO.IOException:无法从传输连接中读取数据:现有连接被远程主机强行关闭。SocketException:现有连接被远程主机强行关闭
该文件是txt文件(1KB)。
如您所见,客户端和服务器都在同一台计算机上:
客户:
using System;
using System.Net.Sockets;
using System.IO;
namespace client2
{
class Program
{
static void Main(string[] args)
{
try
{
// Create a TcpClient.
Int32 port = 13000;
TcpClient client = new TcpClient("127.0.0.1", port);
FileStream file = new FileStream("./amir.txt", FileMode.Open, FileAccess.Read);
byte[] data = System.IO.File.ReadAllBytes("./amir.txt");
//this one with a string works
//Byte[] data = System.Text.Encoding.ASCII.GetBytes("bla bla");
// Get a client stream for reading and writing.
Stream stream = client.GetStream();
stream.Write(data, 0, data.Length);
}
catch (IOException e)
{
}
catch (ArgumentNullException e)
{
Console.WriteLine("ArgumentNullException: {0}", e);
}
catch (SocketException e)
{
Console.WriteLine("SocketException: {0}", e);
}
}
}
}
侃侃尔雅
相关分类