我的两个客户必须直接相互沟通。它们都有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上(例如在localhost上),因为客户端将连接到它自己。我的问题是,如何测试或重写这个,测试两个客户端在同一个IP和端口上相互连接?
答案 0 :(得分:2)
通过命令行参数,属性文件或其他方式使端口号可配置。对于客户端,您需要提供另一个实例的端口号。