Кто такой сервер и кто клиент в UDP? - PullRequest
2 голосов
/ 31 марта 2012

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

Но в UDP, как вы различаете серверы и клиенты?Не существует особого поведения, чтобы различать серверы и клиенты в UDP, верно?Кажется, что мы можем классифицировать только машины, участвующие в соединении UDP, как отправителей и получателей.Сервер может быть либо, либо оба.Он может получать данные от многих клиентов или отправлять данные многим клиентам (например, многоадресному серверу).

Пожалуйста, исправьте меня, если я ошибаюсь, и укажите мне правильный форум, если я разместил вопрос в неправильном.

Спасибо.

Ответы [ 3 ]

1 голос
/ 31 марта 2012

Нет сервера или клиента с UDP. Есть только сверстники.

1 голос
/ 31 марта 2012

Подумайте о UDP как об отправителе -> получателе, а не о клиенте <=> сервере.

Поскольку UDP является протоколом без установления соединения, ответ от приемника может произойти или не произойти. Именно поэтому (помимо прочего) TCP считается более надежным, но медленнее, чем UDP.

http://en.wikipedia.org/wiki/Connectionless_protocol

http://www.diffen.com/difference/TCP_vs_UDP

0 голосов
/ 31 марта 2012

Не специалист по сетевым технологиям, но это мое понимание.

TCP и UDP являются сетевыми протоколами, т. Е. Имеют дело с тем, как данные должны передаваться между узлами. Если вы посмотрите на структуру пакетов как для TCP, так и для UDP, вы обнаружите, что оба имеют раздел исходного узла и раздел конечного узла. Более того, физическая машина все еще будет существовать как источник информации даже в UDP. Называете ли вы это сервером или просто клиентом - это решение, которое будет решать архитектура системы.

Итак, я думаю, что вы имеете в виду уровень передачи данных выше уровня, т. Е. В моем понимании архитектура сетевого приложения. Это когда мы говорим о клиент-серверных приложениях, и это может быть P2P-архитектура, в которой может быть несколько физических машин, предоставляющих данные. Таким образом, терминология зависит от того, на какой контекст вы ссылаетесь.

Чтобы ответить на ваш вопрос, да, сервер и клиент могут существовать как в TCP, так и в UDP. Пусть архитекторы решат!

Надеюсь, это поможет!

...