0

我的两个客户必须直接相互交流。他们都有ServerSocketSocket,也是。我可以用这个代码片段来演示它:

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 和端口上相互连接?

4

1 回答 1

2

通过命令行参数、属性文件或其他方式使端口号可配置。对于客户端,您需要提供另一个实例的端口号。

于 2013-05-11T08:41:27.270 回答