私の 2 つのクライアントは、互いに直接通信する必要があります。どちらにも と が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 とポートで相互に接続している 2 つのクライアントをテストするにはどうすればよいですか?