0
我的問題是當WebSocket和HTTP偵聽相同的端口時,會出現問題嗎? WebSocket會減慢HTTP服務器的速度,反之亦然?Socket.io和HTTP一樣監聽同一個端口是否好?
我的問題是當WebSocket和HTTP偵聽相同的端口時,會出現問題嗎? WebSocket會減慢HTTP服務器的速度,反之亦然?Socket.io和HTTP一樣監聽同一個端口是否好?
不,不應該引起問題。他們需要在相同的端口上運行,但端口不必顯式地爲端口80(這是默認的HTTP端口)。無論你的Node HTTP服務器在監聽什麼,Socket.io都會監聽。以下代碼來自Socket.io網站。正如你所看到的,在服務器和Socket.io都在端口3000
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function(socket){
console.log('a user connected');
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
這聽應該不會造成問題,因爲畢竟它是必需的。唯一的其他選擇是加入一個I幀或允許跨域請求。但取決於什麼樣的Socket.io應用程序和多少個連接同時連接決定了它的效率。所以它可能會或可能不會減慢服務器速度。除非你有數百萬個連接併發射,否則速度可能不應該成爲問題。