测试直接连接在同一IP和端口上的两个客户端

时间:2013-05-11 08:34:38

标签: java sockets

我的两个客户必须直接相互沟通。它们都有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上(例如在localhost上),因为客户端将连接到它自己。我的问题是,如何测试或重写这个,测试两个客户端在同一个IP和端口上相互连接?

1 个答案:

答案 0 :(得分:2)

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