问题描述
我使用套接字在 java 中创建了一个多客户端-服务器通信.我有一个服务器和一个客户端.我想用多个客户端测试我的程序.我计划创建一个动态创建 ip 和端口的模拟器.为此我只想知道如何在套接字程序中设置客户端 ip 和端口.任何人都可以帮助我.. 我使用 InetAddress.getByName 来获取客户端地址.
I created a multiple client- server communication in java using socket. i have a single server and a client. i want to test my program with multiple clients. i m planning to create a simulator which dynamically create ip and port.. for that i just want to know how to set the client ip and port in the socket program. can anyone help me.. i use InetAddress.getByName to get the client address.
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);