Сервер Websocket в c# не разрешает соединение - PullRequest
0 голосов
/ 20 марта 2020

я использую класс SuperSocket Websockets для сокет-сервера, который намеревается передавать сообщения приложению HTML5 каждый раз, когда обрабатывается значение (это процессор формул), но у меня есть несколько клиентов, которые зависят от этой информации в «живом» "mode.

Я создал сервер веб-сокетов в сервисе C# windows, который передает информацию всем подключенным клиентам.

WebSocketServer socketServer = new WebSocketServer();

var config = new RootConfig();
var serverConfig = new ServerConfig
{
    Name = "SecureSuperWebSocket",
    Ip = "Any",
    Port = 1885,
    Mode = SocketMode.Tcp,
};
socketServer.Setup(config,serverConfig);
socketServer.Start();

На стороне HTML5 я создал следующий код. Мой publi c IP имеет все правила брандмауэра, разрешающие соединение.

//XX.XX.XXX.XXX is a public IP Address with the 1885 port opened
var socketServer = new WebSocket("ws://XX.XX.XXX.XXX:1885");
socketServer.onmessage = function(event) {
    console.log(event.data);
};

Моя проблема заключается в том, что он отлично работает, когда я запускаю веб-приложение, подключающееся к серверу веб-сокетов по локальной сети IP. передает без проблем, но когда я использую IP-адрес publi c, (из веб-приложения на тот же IP-адрес) он только подключается, а затем отключается.

Он даже работает с IP-адресом publi c со страницы приветствия chrome, но завершается ошибкой при подключении к Publi c IP + из веб-приложения, которое выполняется на том же publi c ip адрес.

Есть мысли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...