2012-01-10 2 views
0

Я абсолютный новичок в программировании сокетов, и мне нужно работать с UDP-пакетами в моем приложении. Я собираюсь в библиотеку CocoaAsyncSocket, так как она известна своими хорошими качествами. Существует документация, которая, как представляется, полезна для этой библиотеки, но, к сожалению, она описывает только AsyncSocket, которая имеет дело с TCP и ничего не сообщает об AsyncUdpSocket. Так что мои вопросы:Разница между AsyncSocket и AsyncUdpSocket

1) Возможно, создатели библиотеки не описали AsyncUdpSocket, потому что это очень похоже на AsyncSocket? Может быть, я должен изучить AsyncSocket, и это даст мне много понимания AsyncUdpSocket? Мне нужно знать, потому что я просто не могу найти учебники по AsyncUdpSocket. Как вы думаете?

2) Если мое предположение верно, и мне было бы полезно изучить AsyncUdpSocket через обучение AsyncSocket, тогда вы можете сказать мне, насколько они отличаются? В чем разница между ними? Я думаю, мне было бы полезно заранее знать кое-что.

Благодаря

ответ

2

Те же документы могут быть использованы для AsyncUdpSocket - просто замените AsyncSocket с AsyncUdpSocket. Разница между TCP и UDP заключается в том, что TCP основан на подключении и имеет гораздо больший заголовок для данных полезной нагрузки. Он требует, чтобы одноранговый узел отправил обратно полученный пакет сообщений для продолжения отправки данных полезной нагрузки. UDP - это более быстрый протокол, поскольку он игнорирует все это и отправляет данные полезной нагрузки как можно быстрее с упрощенным заголовком.

tl; dr? AsyncUdpSocket используется так же, как AsyncSocket. TCP медленнее, обеспечивает прибытие данных, UDP быстрее, возможно повреждение данных.

Если я помню, источник github предоставляет примеры как для UDP, так и для TCP. Взгляните на EchoServer и EchoClient на основе UDP.

Смежные вопросы