Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XSockets/WebSockets无法从托管计算机以外的其他计算机访问_C#_.net_Html_Websocket_Xsockets.net - Fatal编程技术网

C# XSockets/WebSockets无法从托管计算机以外的其他计算机访问

C# XSockets/WebSockets无法从托管计算机以外的其他计算机访问,c#,.net,html,websocket,xsockets.net,C#,.net,Html,Websocket,Xsockets.net,我正在使用WebSockets开发一个站点,并使用XSockets.NET实现整个WebSockets服务器 此外,我可以从开发机器内部访问XSocket.NET控制器,但无法从其他机器访问它 顺便说一句,这不是一个DNS问题,因为网站本身可以从任何其他机器上浏览:这是一个带有WebSocket的东西 目前我在Firebug中收到以下错误:Firefox无法建立到服务器[…]的连接,服务器是端口7532上的整个主机名 我可以提供如何配置和启动整个WebSockets服务器的示例代码: IXSoc

我正在使用WebSockets开发一个站点,并使用XSockets.NET实现整个WebSockets服务器

此外,我可以从开发机器内部访问XSocket.NET控制器,但无法从其他机器访问它

顺便说一句,这不是一个DNS问题,因为网站本身可以从任何其他机器上浏览:这是一个带有WebSocket的东西

目前我在Firebug中收到以下错误:Firefox无法建立到服务器[…]的连接,服务器是端口7532上的整个主机名

我可以提供如何配置和启动整个WebSockets服务器的示例代码:

IXSocketServerContainer server = Composable.GetExport<IXSocketServerContainer>();
List<IConfigurationSetting> serverConfig = new List<IConfigurationSetting>();
serverConfig.Add(new ConfigurationSetting("ws://[host name]:7532", new HashSet<string> { "*" }));
server.StartServers(configurationSettings: serverConfig);

什么会阻止其他机器连接到整个WebSocket服务器?我遗漏了什么?

如果运行TCP扫描,您真的能看到从外部打开的端口吗

您是否尝试过使用
wss://
(安全)连接?您的服务或主机提供商可能有一个透明的。确保安全可以避免代理的问题


最新版本的XSocket.net中有一个,但可能非常简单。

我已经解决了它,这是一个最小的更改

似乎XSockets.NET需要配置WebSocket来侦听任何IP和任何主机。也就是说,整个主机应该是
0.0.0.0:7532

令人惊讶的是:

VJ: 好啊因此,我有一个更新的问题,我上面提到的。可能的 解决方案,反正对我来说是这样

  • 在CustomConfigLoader中,我将把ip地址添加为0.0.0.0,这意味着我的XSockets服务器将侦听任何ip地址。因此,代码如下所示:var url=“ws://0.0.0.0:4502/”

  • 在Javascript中,我将使用window.location.hostname,它指向应用程序的主机,本质上是服务器 客户端,我正在使用我的XSockets


  • 第二步已经是我在代码中所做的,第一步是成功的原因(在我的例子中,我没有使用CustomConfigLoader,但我只是添加了一个
    ConfigurationSetting
    ,将
    0.0.0:7352
    作为主机IP/主机名)。

    我相信你猜得很多!我不是在外部公司主持。开发机器是一个虚拟机,它在那里工作,如果我试图从主机或平板电脑(例如我的平板电脑)访问该站点,则无法访问整个WebSocket。我尝试了一个
    telnet[host][port]
    ,但它在虚拟机和外部机器上都不起作用。此外,我还禁用了虚拟机和主机上的Windows防火墙。
    // This will work as expected when I open my site from the development machine
    var conn = new XSockets.WebSocket("ws://[host name]:7352/[controller name]");
    
    conn.on(XSockets.Events.open, function (clientInfo) {
        conn.subscribe("[Action name]", function (message) {
        });
    });