7

要求された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」を出力しません。

4

3 に答える 3

4

ところで-パス要素の代わりにsocketio接続にパラメータを提供している場合、あなたのアプローチは正しいです。https://github.com/pkyeck/socket.IO-objcをnodejssocketioで 使用して、ソケット接続にパラメーターを追加すると、問題が解決しました。

例えば:

[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);
于 2013-10-18T21:41:51.267 に答える
2

私は次のようにURLにアクセスしています:

io.on('connection', function(conn){
    console.log(conn.handshake.headers.referer);
});
于 2017-04-20T19:58:20.670 に答える
1

URLAPIを使用します。http://nodejs.org/docs/latest/api/url.html

u = url.parse(url)
console.log(u.path)
于 2013-03-26T13:16:23.017 に答える