Может ли компьютер за NAT-роутером получать обновления в реальном времени с Facebook? - PullRequest
1 голос
/ 10 марта 2011

В настоящее время я пишу настольное приложение, которое интегрирует Facebook с помощью API Graph. Я хотел бы реализовать обновления в режиме реального времени (http://developers.facebook.com/docs/api/realtime/),, но в документе говорится, что вам нужно установить http-сервер, на который Facebook будет обращаться, чтобы отправлять обновления. Моя проблема в том, что мой ящик сидит за маршрутизатором только с одним IP-адресом (поэтому маршрутизатор использует NAT). Будет ли Facebook по-прежнему связываться с моим веб-сервером для отправки мне обновлений?

Ответы [ 4 ]

2 голосов
/ 10 марта 2011

@ kohlehydrat: у каждого веб-сервера должен быть IP-адрес, с которого можно связаться из любого места в Интернете.Поскольку ваш веб-сервер находится за NAT с одним IP-адресом, я серьезно сомневаюсь, что Facebook сможет получить доступ к вашему веб-серверу.

Однако, посмотрите, можете ли вы настроить NAT таким образом, чтобы зарезервировать выделенный порт для вашего приложения.

Например:

        10.122.48.222:4231 
traffic to port 4231 is directed towards your application. 
10.122.48.222 is outward facing NAT IP address.

Я не уверен, сможем ли мы это сделать, но это идея.

1 голос
/ 08 февраля 2012

Вам нужно сделать то, что называется «ПЕРЕДАЧА ПОРТА» . Сначала у меня была похожая проблема. Затем я перенаправил свой порт , где в моем IP-адресе было сделано Public из local только для компании. И теперь моя проблема решена. надеюсь это поможет.

1 голос
/ 10 марта 2011

Маршрутизатор должен перехватывать запросы порта 80 (или любого другого порта, который ваш веб-сервер должен прослушивать) и перенаправлять его на порт внутреннего компьютера 80, предпочтительно в согласованном стиле NAT.

По сути, связь на основе IP с правильной маршрутизацией не должна быть проблемой, если обе стороны могут найти друг друга.

0 голосов
/ 11 марта 2011

этот вопрос уже закрыт, но поскольку вы не получили этот конкретный ответ (что, как я полагаю, большинство разработчиков Facebook делают для разработки за брандмауэрами), я опубликую его здесь:

Вы можете отменитьтуннелируйте свою машину к любой машине с общедоступным ip.см. сообщение в блоге на эту тему

во многих sdks facebook, эта функциональность даже включена (например, facebooker, рубиновый гем предоставляет функциональность для грабли facebooker: tunnel: start afterвы устанавливаете соответствующие настройки)

...