我开发了一个使用 Java 中的 TCP/IP 进行聊天的应用程序。到目前为止,它在同一台机器上运行服务器和客户端时完成了这项工作,但是我想让它在 LAN 上工作。
我发现我将在我的路由器上使用端口转发,与我在客户端和服务器中使用的端口相同,并将其转发到我机器的 IP(这将是服务器)。我还发现我要小心防火墙。
在我的原始媒体集线器路由器上,我使用 (4444) 将端口转发到我机器的本地 IP (192.168.0.21),使用 TCP 协议。我还确保没有端口被阻塞。
对于防火墙,我已确保未启用 windows 防火墙并关闭了我的卡巴斯基反病毒防火墙。
到目前为止,这还不允许我通过 LAN 与我的 vmware 机器进行通信。
这是套接字和服务器套接字的代码;
客户:
int portNumber = 4444;
InetAddress host = InetAddress.getLocalHost(); // I also did try changing the host to a String and making host = InetAddress.getLocalHost().getHostAddress();
Socket link = new Socket(host, portNumber);
服务器:
int portNumber = 4444;
ServerSocket serverSocket = new ServerSocket(portNumber);
link = serverSocket.accept();
知道我做错了什么,或者遗漏了什么吗?