我正在使用WebSockets开发一个站点,我使用XSockets.NET来实现整个WebSockets服务器。
此外,我能够从开发机器中找到XSocket.NET控制器,但是我无法从另一台机器到达它。
顺便说一句,这不是DNS问题,因为网站本身是可以从任何其他机器浏览的:它与WebSockets有关。
目前,我在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);另外,整个XSockets.NET托管在Windows中,我使用开箱即用的XSockets.NET JavaScript API连接到XSocket.NET控制器:
// 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) {
});
});什么会阻止其他机器连接到整个WebSocket服务器?我遗漏了什么?
发布于 2014-06-25 07:26:02
我已经解决了,这是一个最小的变化。
XSockets.NET似乎需要配置WebSocket来侦听任何IP和任何主机。也就是说,整个主机应该是0.0.0.0:7532。
令人惊讶的是,我在这个XSockets.NET文档页面的注释中找到了解决方案(创建自定义配置.)
VJ:好的。因此,我对上面提到的问题进行了更新。一种可能的解决办法,反正对我来说也是如此。
第二步已经是我在代码中所做的事情了,第一步是如何完成这个任务(在我的例子中,我没有使用CustomConfigLoader,但我只是添加了一个带有0.0.0.0:7352的ConfigurationSetting作为主机IP/主机名)。
发布于 2014-06-24 23:21:55
如果您运行TCP扫描,您实际上能看到从外部打开的端口吗?
您是否尝试过使用wss:// (安全)连接?您的服务或宿主提供商可能有一个透明的不对websocket友好的代理。为了安全起见,可以避免与代理之间的问题。
在最新版本的没有SSL/TLS的文档中有XSocket.net,但很可能是非常类似于旧版本。
https://stackoverflow.com/questions/24397738
复制相似问题