爲了能夠在使用Socket.IO的RPC功能時發送二進制數據,我認爲我可以在同一臺服務器上同時使用Socket.IO和WS模塊。而不是打開完全獨立的服務器來建立兩個連接,我想知道我是否可以使用相同的HTTP服務器。在Socket.IO和WS之間共享WebSocket連接
對於Socket.IO和WS,是否可以同時使用一個使用http.createServer()
創建的服務器?很明顯,我期望從客戶端創建一個Socket.IO連接和一個常規的WebSocket連接。以下代碼在客戶端創建協議錯誤,大概是因爲Socket.IO和WS都試圖處理連接。
var http = require('http');
var server = http.createServer(app);
server.listen(3000);
// Socket.IO
var io = require('socket.io').listen(server);
io.sockets.on('connection', function (socket) {
// ...
}
// ws
var WebSocketServer = require('ws').Server
var wss = new WebSocketServer({server: server});
wss.on('connection', function (ws) {
// ...
}