我正在尝试用Java创建一个聊天应用程序,但是我的方式有一件事。 当我在vm上启动我的服务器(处于NAT模式)时,服务器不会出错。但是当我尝试加入客户端(在主机上)时,我得到了一个连接异常。 我已经在vm上禁用了防火墙,端口转发了vm(了解到here),这样我就可以使用localhost(在主机pc上)和端口9011连接到vm上的端口9010,检查代码,一切似乎都很好(不是,否则我不会有错误)。
服务器代码(在连接部分)here(pastebin因为我无法从vm复制/粘贴到主机pc)
客户代码(也在连接部分):
try {
socket = new Socket("localhost", 9011); //line 25 in the file
out = new PrintWriter(socket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String msg = in.readLine();
chatWindow.writeToChat(msg);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
堆栈:
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
at com.tomvos.dev.chatclient.Client.<init>(Client.java:25)
at com.tomvos.dev.chatclient.Client.main(Client.java:44)
欢迎所有帮助;)