2013-05-11 147 views
0

我的两个客户端必须直接相互通信。它们都有ServerSocketSocket。我可以用这个代码片段演示一下:测试两个客户端直接连接在同一个IP和端口上

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

+0

出于好奇,为什么你有两个服务器插座? – nook 2013-05-11 22:53:26

+0

哎呀,我很忙。这是一个错字! :) 谢谢! – WonderCsabo 2013-05-12 06:48:13

回答

2

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

相关问题