Разница между AsyncSocket и AsyncUdpSocket - PullRequest
0 голосов
/ 10 января 2012

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

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

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

Спасибо

1 Ответ

2 голосов
/ 11 января 2012

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

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

...