У меня есть приложение socket.io v0.9.17 с узлом js, развернутое на лазури (которое я тестировал локально с двумя клиентами, и он отлично работает) со следующим кодом:Проблема с подключением к socket.io azure webapp
var util = require("util");
var port = process.env.PORT || 1337;
var app = require("http").createServer(function (req, res) {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("Socket.io application");
}).listen(port);
var io = require('socket.io').listen(app);
io.configure(function() {
io.set("transports", ["websocket"]);
});
io.sockets.on('connection', function (client) { ... }
Я пытаюсь подключиться к нему через Socket.io-Java-клиент с:
// Have tested with different ports
socket.connect("http://myapp.azurewebsites.net:1337/", this);
Это дает мне ошибку на клиенте:
Error while handshaking... Operation timed out
Журналы на сервере:
debug: websocket writing 1::
debug: setting request GET /socket.io/1/websocket/SFePun_Ug5ycS5EVIrSO
debug: set heartbeat interval for client SFePun_Ug5ycS5EVIrSO
debug: discarding transport
debug: cleared heartbeat interval for client SFePun_Ug5ycS5EVIrSO
debug: setting request GET /socket.io/1/websocket/SFePun_Ug5ycS5EVIrSO
debug: set heartbeat interval for client SFePun_Ug5ycS5EVIrSO
debug: discarding transport
debug: cleared heartbeat interval for client SFePun_Ug5ycS5EVIrSO
debug: setting request GET /socket.io/1/websocket/SFePun_Ug5ycS5EVIrSO
debug: set heartbeat interval for client SFePun_Ug5ycS5EVIrSO
debug: discarding transport
(repeated a couple of times)
...
IIS Detailed Error - 503.13 - Number of active WebSocket requests has reached the maximum concurrent WebSocket requests allowed.
socket.connect("http://myapp.azurewebsites.net/", this);
Этого не должно быть, если я подключу одного клиента.
Любые идеи, как исправить это?
РЕДАКТИРОВАТЬ: Пытался перейти с транспортного websocket на xhr-опрос. Это не дает мне ошибку HTTP 503.13 и устанавливает соединение с сервером, но работает плохо.
У меня есть план стандартного хостинга, поэтому он должен работать для одного клиента. 80 дает мне те же ошибки, что и другие порты. 443 дает мне сброс подключения исключения. Однако ни одна из них не работает на местном уровне. В нем говорится: предупреждение - ошибка: Ошибка: прослушать EACCES 0.0.0.0:443 – codingIsFun
см. Обновленный ответ – opHASnoNAME
Я тоже видел это сообщение, но ошибка возникает только с одним подключенным клиентом, а стандартный план должен давать неограниченное или 350 одновременных подключений , – codingIsFun