我使用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");
}
}
答案 0 :(得分:1)
试试
clientString = "Remote client: " + socket.getRemoteSocketAddress().toString().substring(1);
答案 1 :(得分:0)
简单。要创建客户端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);
}
}