TCP или UDP для службы мобильных сообщений? - PullRequest
2 голосов
/ 03 сентября 2011

Я работаю над созданием мобильного приложения с использованием Java для служб обмена сообщениями (P2P). Я все еще на начальных этапах и ищу лучший и наиболее подходящий протокол для такого приложения.Как я нашел.Программирование сокетов лучше, чем веб-сервисы.как вы знаете, не нужно добавлять дополнительные данные (накладные расходы) для отправленного сообщения, поэтому это будет стоить дешевле.

Есть ли третий вариант, кроме сокетов и HTTP?

Является ли сокет выбором, который лучше всего использовать TCP или UDP ?!

Вопрос открыт для любых других вариантов, не только того, что здесь упомянуто, и заранее спасибо

1 Ответ

1 голос
/ 03 сентября 2011

HTTP и TCP / UDP находятся на разных уровнях моделей систем связи (наиболее популярными являются модель OSI и модель TCP / IP).HTTP построен поверх сокетов (вот почему есть дополнительные издержки), так что технически - это не разные решения.

Использование HTTP даст вам преимущество, так как у вас будет много библиотек, документации и примеров, аНаписание собственного, собственного протокола может занять гораздо больше времени и усилий, но, вероятно, будет легче.

Если вы выберете необработанные сокеты ... Я не могу сказать вам, следует ли вам использовать TCP или UDP -это зависит от множества факторов, но основное отличие состоит в том, что TCP-соединение гарантировало бы успешную доставку, если есть доступное подключение или сообщение об ошибке, если нет, тогда как UDP просто отправляет данные и не заботится, попадет ли он туда или нет (например, для потокового видео в реальном времени нет смысла гарантировать передачу каждого бита данных, так как через 1 секунду это уже не актуально).

Нет правильного или неправильного ответа - вам просто нужно рассмотреть всевовлеченные факторы и тщательно продумайте весь процесс.

...