Java网络:连接被拒绝-是的,我的服务器正在运行

当客户端尝试连接到服务器套接字时,出现以下错误:

java.net.ConnectException: Connection refused: connect

但是,我的服务器确实在同一台机器上运行。我尝试使用路由器的外部IP连接到它。但是,当我尝试与进行连接时"localhost",它可以工作。而且,是的,我确实在路由器中正确转发了端口。甚至canyouseeme.org可以连接到我的服务器(该站点显示:“成功”,并且在我的服务器日志中显示有人与服务器连接。)

那么,由于一个或另一个原因,是否不可能通过外部IP连接到同一台计算机(或同一网络中的计算机)?还是这对于Windows很典型?(通常,我使用Linux)

我还尝试完全禁用Windows防火墙。

public ServerSocket ssocket;

public List<ClientHandler> handlers;

public Server(int port) { // Constructor

try {

ssocket = new ServerSocket(port);

this.handlers = new ArrayList<ClientHandler>();

IpSharingManager.uploadData(Utilities.getPublicIp(), port);

} catch (Exception e) {

e.printStackTrace();

System.exit(-1);

}

}

public InvisibleClient(String host, int port) {

try {

System.out.println("Trying to connect to " + host + ":" + port);

this.host = host;

this.socket = new Socket(host, port);

this.bis = new BufferedInputStream(this.socket.getInputStream());

this.bos = new BufferedOutputStream(this.socket.getOutputStream());

this.console = new RemoteConsole(this.socket);

initializeCommunication();

System.out.println("Successfully connected!");

new Thread(this, "Client Thread").start();

} catch (Exception e) {

e.printStackTrace();

System.out.println("No server available");

}

}

谢谢

回答:

某些路由器不允许内部网络连接到路由器的外部IP地址。

您可以尝试使用telnet连接到服务器套接字。如果telnet无法建立连接,则可能是网络问题。

以上是 Java网络:连接被拒绝-是的,我的服务器正在运行 的全部内容, 来源链接: utcz.com/qa/399053.html

回到顶部