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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
}
答案

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

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

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

Screenshot from server

以上是关于TCP / IP在两台计算机之间发送数据?的主要内容,如果未能解决你的问题,请参考以下文章

使用python套接字在两台计算机之间进行通信

如何在两台计算机之间传输数据?

TCP协议基础

Http , TCP/IP , Socket

通过IP地址与C#聊天程序。连接不同网络中的两台计算机

使用 TCP 从两台不同的客户端机器向服务器发送数据 [关闭]