如何在java中了解客户端套接字程序中的客户端端口和ip地址

我使用socket在java中创建了一个多客户端 – 服务器通信。 我有一个服务器和一个客户端。 我想用多个客户端测试我的程序。 我计划创建一个动态创建IP和端口的模拟器..为此我只想知道如何在套接字程序中设置客户端IP和端口。 任何人都可以帮助我…我使用InetAddress.getByName来获取客户端地址。

public Socket(Proxy proxy) { if (proxy != null && proxy.type() == Proxy.Type.SOCKS) { SecurityManager security = System.getSecurityManager(); InetSocketAddress epoint = (InetSocketAddress) proxy.address(); if (security != null) { if (epoint.isUnresolved()) epoint = new InetSocketAddress(epoint.getHostName(), epoint.getPort()); if (epoint.isUnresolved()) security.checkConnect(epoint.getHostName(), epoint.getPort()); else security.checkConnect(epoint.getAddress().getHostAddress(), epoint.getPort()); } impl = new SocksSocketImpl(proxy); impl.setSocket(this); } else { if (proxy == Proxy.NO_PROXY) { if (factory == null) { impl = new PlainSocketImpl(); impl.setSocket(this); } else setImpl(); } else throw new IllegalArgumentException("Invalid Proxy"); } } 

试试吧

 clientString = "Remote client: " + socket.getRemoteSocketAddress().toString().substring(1); 

简单。 要创建客户端IP和端口,您应该在主程序中传递如下所示的参数。

试试这样

  java Client localhost 1112 //To run (ip: localhost port: 1112) // Code for main public static void main(String[] args) { try { ipAdd=args[0]; portNo=Integer.parseInt(args[1]); Client s=new Client(); } catch (Exception e) { System.out.println(e); } }