Java 通过套接字与多个客户端通信

Java 通过套接字与多个客户端通信,java,.net,sockets,Java,.net,Sockets,我有一个服务器插座和3-4台安卓设备作为客户端。我正在使用TCP/IP进行通信。哪种方法最好。我应该为每个客户端使用多个端口吗?或者我应该使用相同的端口。如果使用相同的功能,那么我应该如何识别发往不同设备的通信?否,您不需要多个端口 ServerSocket server = new ServerSocket(port); while (true) { Socket socket = server.accept(); // do something with this socke

我有一个服务器插座和3-4台安卓设备作为客户端。我正在使用TCP/IP进行通信。哪种方法最好。我应该为每个客户端使用多个端口吗?或者我应该使用相同的端口。如果使用相同的功能,那么我应该如何识别发往不同设备的通信?

否,您不需要多个端口

ServerSocket server = new ServerSocket(port);
while (true)
{
    Socket socket = server.accept();
    // do something with this socket - aka 1 client

    new SomeClientClass(socket);
        InputStream in = socket.getInputStream();
        in.read(byte[]);
        OutputStream out = socket.getOutputStream;
        // out will only write response to its own client.

    // when this new SomeClientClassis created, method returns to this point 
    // in while loop and waits for the next client

}

不需要,您不需要几个端口

ServerSocket server = new ServerSocket(port);
while (true)
{
    Socket socket = server.accept();
    // do something with this socket - aka 1 client

    new SomeClientClass(socket);
        InputStream in = socket.getInputStream();
        in.read(byte[]);
        OutputStream out = socket.getOutputStream;
        // out will only write response to its own client.

    // when this new SomeClientClassis created, method returns to this point 
    // in while loop and waits for the next client

}

您可以使用一个端口。客户端可以向您发送其id。如果不能,您可以查看客户端IP地址以确定它是哪一个


web上有数千个TCP客户机/服务器代码示例,但我将从JDK附带的示例代码开始,您可以使用一个端口。客户端可以向您发送其id。如果不能,您可以查看客户端IP地址以确定它是哪一个


web上有数千个TCP客户机/服务器代码示例,但我将从JDK附带的示例代码开始,

好吧,我有这样的服务结构,用于侦听“同时”连接的32个客户机。这部分没有一个问题。我们眼中的“同时”与CPU的“膨胀”不同,我有一个服务监听32个客户端“同时”连接的结构。这部分没有一个问题。我们眼中的“模拟”与CPU中的不同