Есть два клиента и взаимодействуют с сервером.

В какой-то момент сервер отправляет клиентам информацию друг о друге, чтобы установить соединение.

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

Это P2P-соединение?

3 ответа3

1

Да, это соединение P2P. Для получения дополнительной информации см .: http://en.wikipedia.org/wiki/BitTorrent_(protocol)

1

То, что вы только что описали, называется "дырокол". Это можно сделать с помощью протоколов TCP и UDP . Эта статья действительно хороша, чтобы объяснить, как это работает:

После того, как это сделано, коллеги могут общаться друг с другом. Этот метод требует, чтобы центральный сервер инициализировал соединение. Тем не менее, похоже, что вы сделали хотя бы небольшое исследование в этом.

0

Термины "клиент", "сервер" и "одноранговый" все немного неоднозначны, и границы между ними размыты.

Определенная сущность X, которая является сервером, обычно не инициирует соединения, но ждет, пока клиенты с ней не заговорят. И наоборот, клиенты не прослушивают соединения, а инициируют соединения с указанным или обнаруженным сервером.

Одноранговый будет, где X может инициировать или получать соединения.

Теперь X здесь может быть процессом, или частью процесса, или потоком процесса и т.д., Но все это должен быть один и тот же сервис. Иногда процесс или программа - это клиент одного типа сервиса, а затем сервер другого. Так что на самом деле это будет не «одноранговая», а просто программа, которая является одновременно клиентом (одного типа) и сервером (другого типа).

В приведенном вами примере происходит две вещи: процесс обнаружения, а затем процесс передачи данных. Таким образом, у вас есть два разных протокола или части протоколов. Почти все, что является «одноранговым», является своего рода гибридом, и, хотя одноранговые узлы могут обмениваться данными без помощи сервера, им все равно нужно что-то вроде сервера для обнаружения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .