如何在java的多客户机/服务器应用程序中查找所有连接的客户机的ip地址?
我用java创建了一个简单的多客户端/服务器应用程序。 我想得到所有连接客户端的列表。 如何获取所有已连接客户端的ip地址? 我参考并尝试了这方面的代码 创建简单应用程序的链接 服务器代码:如何在java的多客户机/服务器应用程序中查找所有连接的客户机的ip地址?,java,Java,我用java创建了一个简单的多客户端/服务器应用程序。 我想得到所有连接客户端的列表。 如何获取所有已连接客户端的ip地址? 我参考并尝试了这方面的代码 创建简单应用程序的链接 服务器代码: public class ChatServer implements Runnable { private ServerSocket server = null; private Thread thread = null; private C
public class ChatServer implements Runnable
{
private ServerSocket server = null;
private Thread thread = null;
private ChatServerThread client = null;
public ChatServer(int port)
{ try
{ System.out.println("Binding to port " + port + ", please wait ...");
server = new ServerSocket(port);
System.out.println("Server started: " + server);
start();
}
catch(IOException ioe)
{ System.out.println(ioe); }
}
public void run()
{ while (thread != null)
{ try
{ System.out.println("Waiting for a client ...");
addThread(server.accept());
}
catch(IOException ie)
{ System.out.println("Acceptance Error: " + ie); }
}
}
public void addThread(Socket socket)
{ System.out.println("Client accepted: " + socket);
client = new ChatServerThread(this, socket);
try
{ client.open();
client.start();
}
catch(IOException ioe)
{ System.out.println("Error opening thread: " + ioe); }
}
public void start()
public void stop()
public static void main(String args[])
}
任何帮助都将不胜感激。如果您只想打印地址,只需更改:
System.out.println("Client accepted: " + socket);
致:
如果您想保留已连接客户端的列表,只需将
socket.getRemoteSocketAddress()
添加到ArrayList
,或任何您最喜欢的数据结构中即可。我会试试这个…@neutrino thnx很多:)
System.out.println("Client accepted: " + socket.getRemoteSocketAddress().toString());