2017-08-08 104 views
0

這是我的應用程序的hte鏈接: https://intense-inlet-33140.herokuapp.com/ 你可以在那裏看到我的錯誤是什麼。socket.ion,socket.io-clietn,連接

它看起來像:

bundle.js:2391 GET https://intense-inlet-33140.herokuapp.com/socket.io/?EIO=3&transport=polling&t=Lt2mQC9 404(未找到)

關於我有代碼: 服務器端app.js:

var express = require('express'), 
app = express(), 
server = require('http').Server(app), 
io = require('socket.io')(server); 

app.set('port', (process.env.PORT || 5000)); 
app.use(express.static(__dirname + '/public')); 

Html:

script(src='/socket.io/socket.io.js') 

而且bundle.js客戶端:

var io = require('socket.io-client'); 
var socket = io.connect('https://intense-inlet-33140.herokuapp.com/', { 
    'path': '/socket.io/' 
}); 
this.io = socket.connect('/socket.io/', { 
    transports: ['websocket'], 
    upgrade: false, 
}); 

我的應用程序在Heroku的運行。

正是我應該把什麼有io.connect(???)socket.connect(?,{

我知道它必須是一個路徑...插座?我不明白它好,我嘗試了不同的選擇,但還是有同樣的錯誤 請幫助

+0

現在我有 WebSocket連接到'wss://intense-inlet-33140.herokuapp.com:5000/socket.io-client /?EIO = 3&transport = websocket'失敗:連接建立時出錯:net :: ERR_CONNECTION_REFUSED 改變代碼: VAR插座= io.connect( 'https://intense-inlet-33140.herokuapp.com:5000',{ \t '路徑': '/socket.io' }); this.io = socket.connect('/ socket.io-client',{ transports:['websocket'], upgrade:false }); –

回答

0

首先,你的服務器端:。

app.set('port', (process.env.PORT || 5000)); 
app.use(express.static(__dirname + '/public')); 

你有使用端口5000的WS(不知道你改變它爲80或沒有)

但在客戶端,你通過端口80連接到WS。所以,請確保兩端是同一端口。立足代碼:

var socket = io.connect('https://intense-inlet-33140.herokuapp.com/', { 
    'path': '/socket.io/' 
}); 

應該換成了(我刪除路徑,因爲您的服務器不宣告自定義路徑,所以客戶不需要做):

var socket = io.connect('https://intense-inlet-33140.herokuapp.com:5000'); 

不要忘了開PORT如果你有防火牆。

+0

很多爲你的答案。 我做了你所說的。 我的意思是var socket = io.connect('https://intense-inlet-33140.herokuapp.com:5000'); 現在我有arror: bundle.js:2391 GET https://intense-inlet-33140.herokuapp.com:5000/socket.io/?EIO = 3&transport = polling&t = Lt2yMoM net :: ERR_CONNECTION_REFUSED –

+0

「你有使用端口5000的WS(不知道你改變它爲80或沒有)」 我不改變它 現在我關掉了我的防火牆,相同的錯誤 –

+0

忘記了您已通過SSL連接。檢查這篇文章也許它可以幫助你https://stackoverflow.com/questions/21651133/setup-server-server-ssl-communication-using-socket-io-in-node-js – datpp