在创建 WS 服务器的过程中,我看到了很多挂钩 http 服务器的示例,或多或少类似于以下内容
var server = http.createServer(function(request, response) {
// process HTTP request. Since we're writing just WebSockets
// server we don't have to implement anything.
});
server.listen(1337, function() { });
// create the server
wsServer = new WebSocketServer({
httpServer: server
});
或者
var httpServer = http.createServer().listen(websocketport);
/*
* Hook websockets in to http server
*/
socketServer.installHandlers(httpServer, { prefix: '/websockets' });
我不明白为什么。这样做有什么好处吗?
经典的 WS 设置有什么问题,就像这样
const WebSocket = require('ws')
const wss = new WebSocket.Server({ port: 8080 })
wss.on('connection', ws => {....
为什么我不应该只使用没有 http 服务器的 WS 服务器?