WebSocket не работает через Интернет - PullRequest
0 голосов
/ 22 февраля 2011

В настоящее время у меня есть WebSocket сервер (C #) и клиент (JavaScript / HTML5).Это прекрасно работает в моей локальной сети, однако, когда я слушаю и заставляю клиента подключаться к моему «реальному» IP (который является IP-адресом моего маршрутизатора, идентифицируемого во всем мире, то есть вместо 192.168.x.x), он не работает.Класс WebSocket действительно получает readyState из 1, но когда я отправляю что-либо с клиента на сервер (или наоборот), сообщение не приходит.

Я уже установил своймаршрутизатор для включения переадресации портов, в противном случае он все равно не будет работать (я попытался не включить это, и WebSocket сразу получил readyState из 2).

Код JavaScript:

var ws = new WebSocket("ws://some.real.ip.address:myport");
// For privacy reasons I'd like to keep the address and port private

Код C # (я использую библиотеку Nugget для реализации сервера сокетов):

var nugget = new WebSocketServer(myport, "*", "ws://some.real.ip.address:myport");

Очевидно, что адрес и порт совпадают.

Что может бытьпричина этого?Возможно ли, что мой интернет-провайдер не разрешает подключения к сокетам, когда мой компьютер является сервером?Если так, то почему WebSocket получает readyState из 1?

Большое спасибо.

1 Ответ

0 голосов
/ 22 февраля 2011

Это была моя ошибка - я не уверен, что этот ответ кому-нибудь поможет, но я специально слушаю /bke, и я не передал это в конструктор JavaScript WebSocket ...

...