如何在java的多客户机/服务器应用程序中查找所有连接的客户机的ip地址?

如何在java的多客户机/服务器应用程序中查找所有连接的客户机的ip地址?,java,Java,我用java创建了一个简单的多客户端/服务器应用程序。 我想得到所有连接客户端的列表。 如何获取所有已连接客户端的ip地址? 我参考并尝试了这方面的代码 创建简单应用程序的链接 服务器代码: public class ChatServer implements Runnable { private ServerSocket server = null; private Thread thread = null; private C

我用java创建了一个简单的多客户端/服务器应用程序。 我想得到所有连接客户端的列表。 如何获取所有已连接客户端的ip地址? 我参考并尝试了这方面的代码 创建简单应用程序的链接

服务器代码:

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());