Обмен данными TCP или UDP ?

Status
Not open for further replies.

emale

Турист
Понятие "обмен данными" очень размытое.
Если имелось в виду собирание данных с датчиков (посылка текущих данных в одну сторону). то ничего лучше не найти, чем просто периодическая посылка инфы с датчиков в виде UDP пакетов. Пропажа пары пакетов ничего не даст, а поврежденные пакеты будут отбрасываться на уровне UDP checksum. По длительному отсутсвию пакетов судить о пропаже устройства из сети. Минус один - ограниченный размер UDP пакета - 1400 байт, если нужно больше данных, придется распихивать по нескольким пакетам
 

kolobok16

Турист
Однозначно TCP! UDP это не обмен данными, это отправка данных по ветру. Хотя если вам чисто за нагрузкой следить или там данные посылать потоком, то можно.
 

bpost

Турист
UDP = негарантированная доставка. Для ответственных потоков данных не подходит.
 

zmarsik

Турист
TCP в данном случае не справлялся. Как мы поняли потом, пытаясь запросить повторно "кривые" пакеты TCP подвешивал связь местами намертво.
Это не TCP сеть клал, скорее у Вас физичиски UpLink на коммутаторе(на этом куске) то появлялся то пропадал.
 

Pashaaaa

Premium
Premium
Какое кол-во данных планируется посылать, и на какое кол-во клиентов,
UDP хорош своей непривязаностью к конкретному клиенту, но сильно засоряет сеть, TCP более узскйи в плане посылки и буфера
 

yyjksw

Турист
In the case of slow TCP.
But excellent stability.
Sending the order comes.

For UDP faster.
There is no guarantee that your data.
It does not come as a continuous data or send the order form.
Mainly used in games or real-time streaming video.
 

Andrik7503

Турист
Ну ок, используешь ты UDP, как тогда сказать датчику переслать данные заново, в случае если не сошлась контрольная сумма ?
 

LeshaRB

Завсегдатай
Staff member
Moderator
Ну ок, используешь ты UDP, как тогда сказать датчику переслать данные заново, в случае если не сошлась контрольная сумма ?
Какому датчику
 

Andrik7503

Турист
Послать ему запрос на повторную отправку данных?
Ну в принципе согласен. Здесь опять же через что ? TCP или UDP ? Надо еще смотреть что длинее - данные от источника или же запрос к ниму. Ну вопчем реализуемо и на том и на этом.
 

isam_os

Турист
Послать ему запрос на повторную отправку данных?
как узнать если пакет малый то дошел ли он ?
если большой то надо изобретать велосипед .. по повторным отправкам .. и частям которые нужны .. что походу и делает ТСП

так что юзать УДП в расчете на ошибки .. смысла нет ..
 

fets

Турист
скоростного обмена данными в условиях прерывающегося соединения
1. уже после фразы "прерывающегося соединения" можно забыть про UDP. По ходу автор не совсем понимает выполняемую задачу этого протокола.
2. а что значит скоростной обмен ? :) А какие есть обмены ?))))) реально бред... Уже написали бы в крайнем случае... что есть такая-то сеть c такой пропускной способностью, с такими-то узлами и параметрами, передавать планируется то-то и то-то.... как правильно программно организовать обмен информацией в такой сети.
 
Last edited by a moderator:

Label1979

Турист
Приведу пример в пользу UDP. Два устройства обмениваются данными на высокой скорости. Изначально использовали TCP протокол. Если нормальная сеть и приемник НИКОГДА не отваливается, то все нормально. Если вдруг приемник по каким-либо причинам перестал принимать пакеты (например, отвалился порт) - беда, сеть забивается перезапросами и все виснет.

Добавлено через 1 минуту
В итоге перешли на UDP, контроль передачи данных отдали на откуп ПО. Иногда бывают проблемы, но это не сказывается на работе всей сети
 
Last edited by a moderator:
Status
Not open for further replies.
Top