C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
UDP, Передача по UDP
Steam-x
Отправлено: 20.08.2004, 08:38


Дежурный стрелочник

Группа: Участник
Сообщений: 60



Приветственно Всем!
У меня тут один вопросик. Мне необходимо осуществлять обмен информацией по протоколу UDP. Хотелось бы узнать в чем отличия от TCP/IP. Если можно, то простенький пример очень бы даже не помешал.
Konstantine
  Отправлено: 20.08.2004, 09:32


Мастер участка

Группа: Модератор
Сообщений: 545



во-первых не TCP/IP а TCP. т.к. UDP также использует IP.
а во-вторых отличие следующее:

TCP гарантирует доставку данных, а UDP — нет, т.е. если отправить данные по TCP, то (если не вернулась ошибка) данные будут доставлены. Это делают алгоритмы TCP.

UDP отправляет данные, но не гарантирует их доставку, но при этом он не имеет своих алгоритмов (просто надстройка над IP) и работает намного быстрее (TCP передаёт ещё и свою тех. информацию).

Это разные протоколы, и их используют в зависимости от нужд программы (напр.: в динамич. играх обычно UDP, а в передаче файлов или в сетевых БД — TCP)
timson
Отправлено: 20.08.2004, 10:18


Станционный диспетчер

Группа: Участник
Сообщений: 82



когда юзаешь TCP, то сначала устанавливаешь соединение, и обмен данными через сокет.
а UDP, соединение не установлено, обмен идет через адрес (IP)..
klen
Отправлено: 21.08.2004, 00:31


Машинист паровоза

Группа: Участник
Сообщений: 239



QUOTE (timson @ 20/08/2004, 11:20)
...а UDP, соединение не установлено....

Маленькое уточнение. При использовании датаграмм соединение может быть установлено и и это желательно делать всегда когда это возможно. Касательно к берклевским сокетам sendto — используемый для передачи датаграм есть суть частный вариант conenct. Ядро ОС в обоих протоколах соеденяет сокеты, только в UDP временно н а время передачи датаграммы. Если вы в UDP используете предварительно вызов connect, то у вас появляется возможность отправлять датаграммы вызовом sent (write если это UNIX), что позволит вам повысить производительность сокета на ~30%.
Steam-x
Отправлено: 21.08.2004, 09:12


Дежурный стрелочник

Группа: Участник
Сообщений: 60



Привет Всем! Спасибо за проявленное внимание к моему вопросу!
Но это наверное моя ошибка — я неточно сформулировал вопрос...
Я сзаю в чем теоретичесоке отличие между ТСР и ЮДП. Мне нужна практическая работа с протоколом ЮДП.
И в конце своего вопроса я кажется писал о том, что мне нужен конкретно-реальный пример простейшей программы работающей с этим замечательным протоколом ЮДП.
*******************************************************
Репит. Мне нужен пример работы с ЮДП.
*******************************************************
Еще раз спасибо за проявленное внимание.
Все!
Успехов!
Konstantine
Отправлено: 21.08.2004, 09:24


Мастер участка

Группа: Модератор
Сообщений: 545



например, что нада передать и куда? поясни ситуацию
Steam-x
Отправлено: 21.08.2004, 11:19


Дежурный стрелочник

Группа: Участник
Сообщений: 60



QUOTE (Konstantine @ 21/08/2004, 10:26)
например, что нада передать и куда? поясни ситуацию

А позвольте поинтересоваться, какая разница что и куда передавать. Это же не почта, которая смотрит на вес и габариты посылки, а если это бочка, то этим вообще ТРАНСАГЕНСТВО занимается! :0)
Передавать нужно информацию...
Father
  Отправлено: 21.08.2004, 15:17


Ученик-кочегар

Группа: Участник
Сообщений: 17



Check this out.

User Attached Image Скачать файл
UDP_Multicast_Socket_Exampla.zip


Steam-x
Отправлено: 26.08.2004, 09:17


Дежурный стрелочник

Группа: Участник
Сообщений: 60



Хотябы самые минимальные пояснения???

Вернуться в Вопросы программирования в C++Builder