Стандартные приложения чата - PullRequest
2 голосов
/ 18 сентября 2011

Быстрый вопрос: большинство приложений чата (например, AIM, Skype, Oovoo) используют одноранговый обмен UDP для общения с другими пользователями или повторяющееся TCP-соединение с сервером?Или какая-то промежуточная комбинация?

Ответы [ 3 ]

0 голосов
/ 18 сентября 2011

Довольно стандартным протоколом обмена мгновенными сообщениями является XMPP . Я знаю, что он используется Google Talk, а также несколькими другими громкими именами в чате.

0 голосов
/ 18 сентября 2011

Традиционно, большинство приложений использовали решение, подобное TURN (то есть, связь через сервер), чтобы преодолеть проблемы обхода NAT. Поскольку чат не требует большой полосы пропускания, серверы могут поддерживать тысячи сообщений.

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

Я считаю, что будет справедливо сказать, что большинство современных фреймворков используют комбинацию обоих.

0 голосов
/ 18 сентября 2011

когда вам нужны небольшие фрагменты данных, такие как текстовые сообщения, нет необходимости использовать P2P. данные могут передаваться с client1 на сервер и с сервера обратно на client2.

Когда вам нужно быстро передать данные между клиентами, в таких случаях, как VoIP (передача голоса по IP) или передача файлов, вы будете использовать P2P.

...