Программирование на Python Socket (TCP против UDP) - PullRequest
3 голосов
/ 24 апреля 2011

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

Я знаю основы модуля сокетов Python, витой фреймворк, но у меня вопрос, должен ли я использовать UDP или TCP? Клиент, которому нужно оставаться на связи вообще.

Надеюсь, вы, ребята, поняли мой вопрос, спасибо за вашу замечательную помощь здесь

Ответы [ 4 ]

4 голосов
/ 24 апреля 2011

Вы всегда должны использовать TCP, пока у вас не возникнет проблема с производительностью, которую, как вы знаете, можно уменьшить с помощью UDP.TCP легче понять, когда он выходит из строя.

1 голос
/ 24 апреля 2011

Можете ли вы позволить себе потерять сообщения?Если да, используйте UDP.В противном случае используйте TCP.Это то, для чего они предназначены.

0 голосов
/ 25 апреля 2011

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

Так что я бы просто пошел с TCP.

0 голосов
/ 24 апреля 2011

Как долго один клиент будет подключен к серверу?Сколько одновременных соединений вы планируете обрабатывать?Если для многих клиентов будут очень короткие пакеты данных, то вам следует использовать UDP.Но скорее всего, TCP поначалу будет хорошо работать.

...