我試圖通過WebSocket連接連接到服務器的NodeJS服務器,但無法得到任何工作。如何使遠程WebSocket連接到的NodeJS在Heroku
我server.js看起來是這樣的:
var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io', {
transports: ['websocket']
})(http);
var server_port = process.env.PORT || 8080
var server_ip_address = process.env.IP || '0.0.0.0'
app.listen(server_port, server_ip_address, function() {
console.log('listening on ' + server_ip_address + ":" + server_port);
});
我client.js(上樹莓派也運行運行的NodeJS)是:
var io = require('socket.io-client');
var socket = io.connect('http://<app-url>',
{
reconnect: true,
transports: ['websocket']
}
);
socket.on('connect', function(socket) {
console.log('Connected!');
});
我也試過openshift V2 (端口8000和8443)和v3,那裏沒有運氣。
如果有人這樣做了最近請讓我知道怎麼回事,謝謝!
在調試客戶端我得到的消息:
engine.io客戶端:插座插座親近的理由: 「傳輸錯誤」
,並在服務器上:
heroku [router]:at =錯誤代碼= H13 desc =「連接沒有響應關閉」
在客戶端和服務器都在同一臺機器上運行,通過本地主機訪問? – Melkor
@Marchhill無 - 服務器在Heroku上託管,客戶端上的樹莓派(與互聯網連接)。 – Matthew