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

Статус
В этой теме нельзя размещать новые ответы.

emale

Местный
Регистрация
18 Апр 2008
Сообщения
9
Реакции
6
Credits
29
Понятие "обмен данными" очень размытое.
Если имелось в виду собирание данных с датчиков (посылка текущих данных в одну сторону). то ничего лучше не найти, чем просто периодическая посылка инфы с датчиков в виде UDP пакетов. Пропажа пары пакетов ничего не даст, а поврежденные пакеты будут отбрасываться на уровне UDP checksum. По длительному отсутсвию пакетов судить о пропаже устройства из сети. Минус один - ограниченный размер UDP пакета - 1400 байт, если нужно больше данных, придется распихивать по нескольким пакетам
 

kolobok16

Турист
Регистрация
8 Дек 2014
Сообщения
5
Реакции
2
Credits
187
Однозначно TCP! UDP это не обмен данными, это отправка данных по ветру. Хотя если вам чисто за нагрузкой следить или там данные посылать потоком, то можно.
 

bpost

Турист
Регистрация
4 Мар 2009
Сообщения
5
Реакции
0
Credits
26
UDP = негарантированная доставка. Для ответственных потоков данных не подходит.
 

zmarsik

Турист
Регистрация
23 Авг 2014
Сообщения
13
Реакции
1
Credits
26
TCP в данном случае не справлялся. Как мы поняли потом, пытаясь запросить повторно "кривые" пакеты TCP подвешивал связь местами намертво.
Это не TCP сеть клал, скорее у Вас физичиски UpLink на коммутаторе(на этом куске) то появлялся то пропадал.
 

Pashaaaa

Premium
Регистрация
22 Фев 2007
Сообщения
56
Реакции
0
Credits
122
Какое кол-во данных планируется посылать, и на какое кол-во клиентов,
UDP хорош своей непривязаностью к конкретному клиенту, но сильно засоряет сеть, TCP более узскйи в плане посылки и буфера
 

yyjksw

Местный
Регистрация
17 Июл 2008
Сообщения
20
Реакции
6
Credits
26
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

Турист
Регистрация
19 Июл 2016
Сообщения
7
Реакции
0
Credits
14
Ну ок, используешь ты UDP, как тогда сказать датчику переслать данные заново, в случае если не сошлась контрольная сумма ?
 

Andrik7503

Турист
Регистрация
19 Июл 2016
Сообщения
7
Реакции
0
Credits
14
Послать ему запрос на повторную отправку данных?

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

isam_os

Турист
Регистрация
28 Авг 2016
Сообщения
3
Реакции
0
Credits
6
Послать ему запрос на повторную отправку данных?

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

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

fets

Турист
Регистрация
4 Окт 2011
Сообщения
7
Реакции
1
Credits
14
скоростного обмена данными в условиях прерывающегося соединения

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

Label1979

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

Добавлено через 1 минуту
В итоге перешли на UDP, контроль передачи данных отдали на откуп ПО. Иногда бывают проблемы, но это не сказывается на работе всей сети
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.