我正在用socket.io写一个快速的app.js,并遇到了一个问题
我无法弄清楚如何使用这些路线。
我希望客户端编写例如localhost:3000/?id=3
并根据id获取内容。
但是在socket.io连接事件中,我不知道url或params(或者有没有办法?)
io.on('connection', function (socket) {/*should be something according to the id in the url*/});
直到现在我刚用
检查了idapp.get('/', function (req, res) {
//req.query.id
});
任何人都知道解决这个问题吗?
谢谢!
答案 0 :(得分:1)
您似乎对使用webSockets的方式感到有些困惑。如果您要发出localhost:3000/?id=3
之类的http请求,那么您就不会使用网络套接字。您可以使用Express中的常规路由机制。
创建webSocket连接,然后保持连接。从那时起,您将带有可选数据的消息定义为这些消息的参数,您可以在webSocket上向这两个方向发送消息。 webSocket消息在现有webSocket上发送,而不是在URL上发送。如果需要,您可以创建一条消息,用于将URL从客户端发送到服务器。如果是这种情况,您可以在客户端执行此操作:
socket.emit("sendURL", url);
然后,您将在服务器上侦听"sendURL"
消息。