如何使websocket服务器在路由器?

我正在使用nodejs-ws模块编写一个websocket服务器,但服务器只能在服务器的根目录下,所以我可以如何在localhost:3000 / chat这样的子路由器上创build它?

我需要你的帮助,非常感谢!

工作示例:

var ws = require('ws'); var http = require('http'); var httpServer = http.createServer(); httpServer.listen(3000, 'localhost'); var ws1 = new ws.Server({server:httpServer, path:"/chat"}); ws1.on('connection', function(){ console.log("connection on /chat"); }); var ws2 = new ws.Server({server:httpServer, path:"/notifications"}); ws2.on('connection', function(){ console.log("connection on /notifications"); }); 

你能告诉我如何使用这个expression?

要使用Express来路由websockets,我宁愿使用express-ws-routes

 var express = require('express'); var app = require('express-ws-routes')(); app.websocket('/myurl', function(info, cb, next) { console.log( 'ws req from %s using origin %s', info.req.originalUrl || info.req.url, info.origin ); cb(function(socket) { socket.send('connected!'); }); });