我有一个Android应用程序,它通过Azure托管的NodeJS服务器使用websockets。过去六个月,一切都很好。今天一切都不好。当我尝试连接到我的服务器时,我得到了响应"没有与主机名相关联的地址。"
我在管理控制台的配置选项卡中启用了websockets,也在web.config文件中启用了websockets,以便Node处理websocket而不是iis。我没有改变任何东西,切换websocket设置,没有任何作用。我已多次重启服务器。我还创建了一个新网站并迁移了一切,仍然是同一个问题。我无法获得微软的技术支持,因为该网站是免费的。我知道websocket最多有5个连接;这不是问题。
我的服务器正在使用' ws' websocket模块。我把我的server.js代码降到了测试的最低限度。现在就是这样......
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({ port: process.env.PORT || 8080 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {});
ws.on('close', function closing(code, message) {});
if (ws.readyState == 1)
ws.send('message from the server!');
});
它仍然不起作用。我用下面的代码替换了整个文件,服务器用浏览器中的文本进行响应。当然,这不是websocket,但它表明服务器能够响应http请求。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('Hello, world!');
}).listen(process.env.PORT || 8080);
使用websockets有什么改变吗?最近有哪些限制我不知道?