Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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

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
Java套接字错误:Java.net.ConnectException:连接被拒绝:连接_Java_Sockets_Networking_Tcp - Fatal编程技术网

Java套接字错误:Java.net.ConnectException:连接被拒绝:连接

Java套接字错误:Java.net.ConnectException:连接被拒绝:连接,java,sockets,networking,tcp,Java,Sockets,Networking,Tcp,可能重复: 我创建了一个简单的聊天程序,它使用套接字进行通信。当我在本地主机上运行它时,一切正常。但是,当我尝试使用我的IP链接客户端和服务器程序时,就会出现问题 可以通过端口9999连接到我的服务器,因此我知道服务器状态良好,端口处于打开状态。但是,我的客户无法连接 错误日志 java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Metho

可能重复:

我创建了一个简单的聊天程序,它使用套接字进行通信。当我在本地主机上运行它时,一切正常。但是,当我尝试使用我的IP链接客户端和服务器程序时,就会出现问题

可以通过端口9999连接到我的服务器,因此我知道服务器状态良好,端口处于打开状态。但是,我的客户无法连接

错误日志

java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at Client.connect(Client.java:129)
at Client.main(Client.java:47)
java.net.ConnectException:连接被拒绝:连接
位于java.net.PlainSocketImpl.socketConnect(本机方法)
位于java.net.PlainSocketImpl.doConnect(未知源)
位于java.net.PlainSocketImpl.connectToAddress(未知源)
位于java.net.PlainSocketImpl.connect(未知源)
位于java.net.socksocketimpl.connect(未知源)
位于java.net.Socket.connect(未知源)
位于java.net.Socket.connect(未知源)
位于java.net.Socket。(未知源)
位于java.net.Socket。(未知源)
在Client.connect上(Client.java:129)
位于Client.main(Client.java:47)
有人知道是什么原因造成的吗?提前谢谢

完整源代码的链接:


您是否试图从局域网内部使用自己的服务器的公共IP地址连接到自己的服务器?对于大多数SoHo路由器,端口转发只适用于WAN到LAN,而不适用于LAN到LAN。你正在寻找的是所谓的“发夹NAT”,许多SoHo路由器就是不这样做。要从LAN内部访问服务器,请使用其内部IP地址,而不是公共IP地址。

它们是否在同一子网中?是否有任何网络设备可能对该端口进行防火墙连接?服务器上的本地防火墙如何?还是TCP包装器?你能从你的本地主机远程登录到这个端口吗?还是仅仅是应用程序?请不要转发问题。谢谢,我会把客户端发送给朋友,看看他们是否能连接。你说得对!非常感谢:这就是问题所在。由于服务器绑定到
0.0.0.0
(因为服务器代码中没有指定IP地址),如果在本地计算机上运行客户端,则只需连接到
localhost
(或本地专用网络上的计算机IP地址)。