我设法根据AWS EC2实例中的this教程配置一个简单的websocket服务器,并且工作正常。
但只能从我的家庭互联网连接中获得真正的IP并被称为专用互联网线路
我尝试使用来自客户端的非常简单的javascript示例代码(使用HTML页面),如果我使用来自PC / Mac的专用互联网连接,它可以很好地工作。 (我使用autobahn.min.js
)在以下脚本上方。
var conn = new ab.Session('ws://X.X.X.X:8080',
function() {
console.log("Connection established!");
// To Do: Subscribe with client ID
},
function() {
console.warn('Connection closed!');
},
{'skipSubprotocolCheck': false}
);
但是如果我从另一个共享的互联网连接(如蜂窝数据或类似的东西)下运行相同的简单文件/脚本,它就会失败。我在浏览器控制台中收到以下错误。
WebSocket connection to 'ws://X.X.X.X:8080/ws' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT example.com Connection closed!
服务器位于AWS EC2实例中。是,在安全组下启用了8080。实际上一切正常,除了客户端连接来自某些特定类型的基于互联网连接的计算机。
提前感谢您的帮助!