Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用TCP客户端建立连接时出错_C#_Sockets_C# 4.0_Tcpclient_Socketexception - Fatal编程技术网

C# 使用TCP客户端建立连接时出错

C# 使用TCP客户端建立连接时出错,c#,sockets,c#-4.0,tcpclient,socketexception,C#,Sockets,C# 4.0,Tcpclient,Socketexception,我正在尝试使用C#与网络中的远程系统建立连接。然后程序抛出以下异常 无法建立连接,因为目标计算机主动拒绝192.168.1.42:8000 你确定另一端有人在听吗?在这种情况下,本地服务器似乎实际上拒绝了请求。请确认服务器正在运行,TCPServer正在侦听,并且服务器运行的机器(如果在本地,这应该不是问题)已设置为允许从LAN传入数据包。请检查常见的可疑问题: 服务器应用程序真的在运行吗 它真的在8000端口监听吗 客户端计算机上的防火墙是否允许8000端口上的传出流量 服务器计算机上的防火墙

我正在尝试使用C#与网络中的远程系统建立连接。然后程序抛出以下异常

无法建立连接,因为目标计算机主动拒绝192.168.1.42:8000


你确定另一端有人在听吗?在这种情况下,本地服务器似乎实际上拒绝了请求。请确认服务器正在运行,TCPServer正在侦听,并且服务器运行的机器(如果在本地,这应该不是问题)已设置为允许从LAN传入数据包。

请检查常见的可疑问题:

  • 服务器应用程序真的在运行吗
  • 它真的在8000端口监听吗
  • 客户端计算机上的防火墙是否允许8000端口上的传出流量
  • 服务器计算机上的防火墙是否允许端口8000上的传入流量

  • 如果上述解决方案不起作用,那么问题可能出在服务器代码中。 您可能使用了TcpListener的实例来侦听指定的端口,但您将哪个IP地址传递给了构造函数? 如果您编写了以下代码:

    mylistener = new TcpListener(IPAddress.Loopback, 8000);
    
    这将导致该错误。 发生这种情况的原因是,回送不会使侦听器侦听所有网络接口,而只侦听来自本地主机(127.0.0.1)的请求

    请改用此代码

    mylistener = new TcpListener(IPAddress.Any, 8000);
    
    mylistener = new TcpListener(IPAddress.Any, 8000);