[英]Routing with socket.io
我正在用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*/});
直到现在我才用
app.get('/', function (req, res) {
//req.query.id
});
有人知道解决这个问题的方法吗?
谢谢!
您似乎对使用webSockets有点困惑。 如果要发出诸如localhost:3000/?id=3
类的http请求,则不要使用webSockets。 您使用Express中的常规路由机制。
将创建一个webSocket连接,然后持久连接。 从那时起,您可以将带有可选数据的消息定义为这些消息的参数,并且可以在webSocket上向任一方向发送这些消息。 webSocket消息是通过现有的webSocket发送的,而不是通过URL发送的。 如果需要,您可以创建一条消息,用于从客户端向服务器发送URL。 如果是这种情况,您可以在客户端中执行以下操作:
socket.emit("sendURL", url);
然后,您将在服务器上侦听"sendURL"
消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.