Как работает мессенджер (IM) (прослушивание)? - PullRequest
3 голосов
/ 25 мая 2010

Моя задача - написать программу Messenger для внутренних и внешних сотрудников, я на самом деле сделал это. Тем не менее, я считаю, что это действительно не очень хороший подход, используя клиентское программное обеспечение, которое хранит "check-mesg" с сервера. Так что я думаю, что я просто имитирую программу IM.

Я хочу, чтобы клиентское приложение стало сервером прослушивания, и чтобы пользователь p2p говорил без «центра сообщений» на главном сервере (если не происходит автономная передача сообщений). Вопрос в том, как сообщить внешнему пользователю (другому клиентскому приложению) мое местоположение, пока я нахожусь за маршрутизатором?

Работают ли другие клиентские программы на клиентском компьютере как сервер? и как они проходят?

Заранее спасибо!

1 Ответ

1 голос
/ 25 мая 2010

Довольно сложно подключиться к системам за маршрутизатором и не всегда возможно. Хорошо документированный способ сделать это с UDP - это протокол STUN (используется в основном для VoIP на основе SIP ). Если невозможно отстать от маршрутизатора, вы можете использовать только сервер в открытой сети в качестве посредника (некоторые P2P-системы также предоставляют одноранговые узлы с хорошим подключением к таким посредникам). SIP использует TURN в качестве протокола-посредника. Протокол SIP для определения правильного решения для клиента: ICE .

См. Также Обход NAT .

...