Обработка получения значений с сервера в нескольких клиентах с одинаковым IP - PullRequest
0 голосов
/ 11 июня 2019

Я хочу подключиться к серверу с несколькими клиентами и несколькими клиентами на одном компьютере и с одним IP-адресом. Я имею в виду, что в моем приложении в разных формах пользователь может подключиться к серверу и получить значение с сервера одновременно. Я читал больше о мульти-клиентах, но все они были о мульти-клиентах на разных компьютерах или в разных приложениях. Я думаю, что я обрабатываю полученные значения от сервера на стороне клиента с помощью словаря, который сохраняет подключенных клиентов и каждое полученное значение, установленное в очереди, и, если не выполняется какое-либо полученное значение, то получает данные из очереди и т. Д., Но я не знаю Как я могу знать, что это полученные значения для какого запроса от клиента. Я пытаюсь решить эту проблему около 3 дней, и я не смог. Пожалуйста, если вы можете мне помочь

1 Ответ

0 голосов
/ 11 июня 2019

Конечно, лучше указать свою Платформу, Среду и ... когда у вас есть вопрос по этому поводу, ну, в общем, нет никаких отличий. Кстати, я предполагаю, что это .Net.

.Net платформа

Если вы занимаетесь программированием сокетов и хотите распознать разные запросы от нескольких клиентов на одном компьютере / IP, класс Client.RemoteEndPoint из TcpClient даст вам это. На самом деле, он состоит из IP: Port и является ключом, чтобы узнать, как он работает отдельно, что на каждом языке программирования с большой вероятностью будет выглядеть так, потому что на одном и том же компьютере у каждой конечной точки должен быть один и тот же IP, но разные порты. Таким образом, даже на одном и том же компьютере вы можете использовать его в качестве идентификатора (IP: порт) и использовать его в качестве ключа в своем словаре.

Общие случаи

В некоторых общих чертах для каждой платформы или без использования встроенных сред вы можете рассматривать свой сервер как веб-сервер (я вижу, что он более сложный), но как веб-сервер будет обрабатывать каждый запрос сам по себе, даже если это два разных сеанса в 2 браузерах с 1 компьютера и 1 порта? Таким образом, вы должны реализовать свой код таким образом. На самом деле, вы должны помещать некоторую дополнительную информацию в каждый запрос и предоставлять им несколько уникальных фрагментов информации (ID) самостоятельно. Тогда вы сможете отличить их друг от друга.

...