TCP-сессия в Java - PullRequest
       1

TCP-сессия в Java

0 голосов
/ 20 декабря 2010

Я хочу подключить к серверу более одного клиента за раз, а также связать сервер со всеми клиентами.как сервер распознает каждого клиента.а как отправить данные конкретному клиенту?

считают, есть 3 клиента A, B, C.все клиенты подключены к серверу.сервер хочет отправить сообщение Б. как это сделано?

Ответы [ 2 ]

1 голос
/ 20 декабря 2010

Если я вас правильно понял - все, что вам нужно, это не связывать сокет для одного соединения.Ваш код клиента будет выглядеть так:

Класс клиента:

public class TCPClient {

 public TCPClient(String host, int port) {

        try {
            clientSocket = new Socket(host, port);
        } catch (IOException e) {
            System.out.println(" Could not connect on port: " + port + " to " + host);
        }
}

Класс сервера (хоста):

   public class TCPListener {

    public TCPListener(int portNumber) {
            try {
                serverSocket = new ServerSocket(portNumber);
            } catch (IOException e) {
                System.out.println("Could not listen on port: " + portNumber);
            }
            System.out.println("TCPListener created!");
                    System.out.println("Connection accepted");
            try {
                while (true) {
                    Socket clientConnection = serverSocket.accept();

    //every time client's class constructor called - line above will be executed and new connection saved into Socket class.
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    }

Это самый простой пример.Больше можно найти здесь: http://www.oracle.com/technetwork/java/socket-140484.html

0 голосов
/ 20 декабря 2010

Полагаю, вы понятия не имеете, как это сделать. См. этот урок о сокетах.

Если у вас возникнут вопросы, я обновлю этот ответ и так далее ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...