我的两个客户必须直接相互交流。他们都有ServerSocket
和Socket
,也是。我可以用这个代码片段来演示它:
final ServerSocket serverSocket = new ServerSocket(12345);
new Thread(new Runnable() {
@Override
public void run() {
try {
Socket clientSocket = serverSocket.accept();
System.out.println(clientSocket.getInputStream().read());
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
Socket clientSocket = new Socket(InetAddress.getLocalHost(), 12345);
clientSocket.getOutputStream().write(1);
clientSocket.getOutputStream().flush();
它工作正常,但我无法测试它们,如果它们在同一个 IP 上(例如在本地主机上),因为客户端将连接到自身。我的问题是,我如何测试或重写它,以测试两个客户端在同一 IP 和端口上相互连接?