Search code examples
socketsreact-nativesocket.ioserversocket

socket.io for react native (sending query problems)


I'm using this library and i can connect without problems.

Usually when I have worked with sockets the code that ever i used is:

socket = io.connect(url, { query: ‘token=’ + token});

and i can see this info reading socket.request._query

Using socket.io for react native i'm trying to send params:

this.socket = new SocketIO('http://localhost:3000', { query: ‘token=’ + token});

but in socket.request._query only can see this log:

{ transport: 'polling', b64: '1' }

In the library some options are mentioned like: connectParams. But i don't know how i can see the info

Related: link


Solution

  • It's not pretty detailed in the repo, but connectParams is a key/value object, and furthermore the values you sent in it will be appended in the url, as shown here:

        if connectParams != nil {
            for (key, value) in connectParams! {
                let keyEsc   = key.urlEncode()!
                let valueEsc = "\(value)".urlEncode()!
    
                queryString += "&\(keyEsc)=\(valueEsc)"
            }
        }
    

    >Source<

    So, you should try using connectParams like this(though I'm not sure how you tried it before):

    this.socket = new SocketIO('http://localhost:3000', {
      connectParams: {
        myAwesomeQueryStringParam: "someRandomValue"
      }
    });
    

    PS: forgive me, my english is pretty bad