我想解析请求的 url。当我使用 Socket.IO 时,我有一个可以解析的请求对象。如何从 URL 获取路径?
例如:
http://localhost:4000/foo
我需要从 URL 中提取“foo”。
我试过了:
io.sockets.on('connection', function (socket){
console.log(socket.handshake.address.address);
console.log(socket.handshake.url);
}
但是他们不打印“foo”。
最佳答案
顺便说一句——如果您向 socketio 连接而不是路径元素提供参数,您的方法是是正确的。它解决了我使用 https://github.com/pkyeck/socket.IO-objc 时的问题使用 nodejs socketio 将参数添加到我的套接字连接中。
例如:
[socketIO connectToHost:@"localhost" onPort:8888 withParams:[NSDictionary dictionaryWithObject:@"52523f26f5b23538f000001c" forKey:@"player"]];
构造 URL 如下:
http://localhost:8888/socket.io/1/?t=16807&player=52523f26f5b23538f000001c
参数可以在服务器上的 socket.handshake.query 中访问
socketio.listen(server).on('connection', function(socket) {
console.log('socket info = ', socket.handshake.query.player);
关于node.js - socket.io 解析请求的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15637941/