TCP / IP在两台计算机之间发送数据?

时间:2017-12-23 15:33:55

标签: c# tcp ip

我想在同一网络上的两台计算机之间发送数据。

客户端也会收到错误:System.Net.Sockets.SocketException:'连接在一段合理的时间内没有响应, 建立连接并且无法建立计算机,因为计算机没有响应

什么错了? 感谢。

在服务器中运行的代码:

static void Main(string[] args)
        {
            TcpListener listen = new TcpListener(IPAddress.Any, 1200);

            listen.Start();

            TcpClient client = listen.AcceptTcpClient();

            NetworkStream stream = client.GetStream();
            byte[] buffer = new byte[client.ReceiveBufferSize];

            int data = stream.Read(buffer, 0, client.ReceiveBufferSize);
            string ch = Encoding.Unicode.GetString(buffer, 0, data);
            Console.WriteLine("Message: " + ch);
            client.Close();
            Console.ReadKey();

        }

在客户端中运行的代码:

static void Main(string[] args)
{
TcpClient client = new TcpClient("192.168.21.131", 1200);
//IPV4(Server) = 192.168.21.131
NetworkStream n = client.GetStream();
string ch = Console.ReadLine();

byte[] message = Encoding.Unicode.GetBytes(ch);
n.Write(message, 0, message.Length);
Console.WriteLine("----------------");
client.Close();

Console.ReadKey();
}

1 个答案:

答案 0 :(得分:0)

这不是编程错误,这是网络错误。

您可以在同一台计算机上运行,​​并将IP地址(192.168.21.131)更改为127.0.0.1或localhost( less 可能会遇到网络问题)。

根据Robberts的评论,您需要确保在两台计算机上的防火墙上正确打开端口。

Screenshot from server