Skip to content

Connect to namespace in EIO=4 #620

Open
@joelzavala

Description

@joelzavala

Hi, I am trying to connect to a namespace in SocketIOclient using EIO 4.

So far I was able to connect to the default namespace ("/") using EIO 4 and it works great and I was even able to send an authorization.

The problem is when connecting to a namespace. What I do is this

case sIOtype_CONNECT:
        {
            Serial.printf("[IOc] Connected to url: %s\n", payload);

            // join default namespace (no auto join in Socket.IO V3)
            String data = "40/switch,{\"device\":\"";
            data += serial;
            data += "\"}";
            socket.send(sIOtype_CONNECT, data);
        }
            break;

When I run it, it prints this ( I activated debug )

[WS-Client] connect ws...
[WS-Client] connected to 192.168.1.75:4000.
[WS-Client][sendHeader] sending header...
[WS-Client][sendHeader] handshake GET /socket.io/?EIO=4&transport=polling HTTP/1.1
Host: 192.168.1.75:4000
Connection: keep-alive
origin: http://192.168.1.80
User-Agent: arduino-WebSocket-Client

[write] n: 168 t: 1512047
[WS-Client][sendHeader] sending header... Done (21690us).
[WS-Client][handleHeader] RX: HTTP/1.1 200 OK
[WS-Client][handleHeader] RX: Access-Control-Allow-Origin: *
[WS-Client][handleHeader] RX: Content-Type: text/plain; charset=UTF-8
[WS-Client][handleHeader] RX: Content-Length: 96
[WS-Client][handleHeader] RX: Date: Mon, 08 Feb 2021 23:43:35 GMT
[WS-Client][handleHeader] RX: Connection: keep-alive
[WS-Client][handleHeader] RX: Keep-Alive: timeout=5
[WS-Client][handleHeader] Header read fin.
[WS-Client][handleHeader] Client settings:
[WS-Client][handleHeader]  - cURL: /socket.io/?EIO=4
[WS-Client][handleHeader]  - cKey: Sv0F7QyBpaxlkYxYn7hlQw==
[WS-Client][handleHeader] Server header:
[WS-Client][handleHeader]  - cCode: 200
[WS-Client][handleHeader]  - cIsUpgrade: 0
[WS-Client][handleHeader]  - cIsWebsocket: 0
[WS-Client][handleHeader]  - cAccept:
[WS-Client][handleHeader]  - cProtocol: arduino
[WS-Client][handleHeader]  - cExtensions:
[WS-Client][handleHeader]  - cVersion: 0
[WS-Client][handleHeader]  - cSessionId:
[WS-Client][handleHeader] still missing cSessionId try socket.io V3
[WS-Client][handleHeader] socket.io json: 0{"sid":"ipvzuEETbfI-_H_lAAja","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}
[WS-Client][handleHeader]  - cSessionId: ipvzuEETbfI-_H_lAAja
[WS-Client][handleHeader] Header read fin.
[WS-Client][handleHeader] Client settings:
[WS-Client][handleHeader]  - cURL: /socket.io/?EIO=4
[WS-Client][handleHeader]  - cKey: Sv0F7QyBpaxlkYxYn7hlQw==
[WS-Client][handleHeader] Server header:
[WS-Client][handleHeader]  - cCode: 200
[WS-Client][handleHeader]  - cIsUpgrade: 0
[WS-Client][handleHeader]  - cIsWebsocket: 0
[WS-Client][handleHeader]  - cAccept:
[WS-Client][handleHeader]  - cProtocol: arduino
[WS-Client][handleHeader]  - cExtensions:
[WS-Client][handleHeader]  - cVersion: 0
[WS-Client][handleHeader]  - cSessionId: ipvzuEETbfI-_H_lAAja
[WS-Client][handleHeader] found cSessionId
[WS-Client][sendHeader] sending header...
[WS-Client][sendHeader] handshake GET /socket.io/?EIO=4&transport=websocket&sid=ipvzuEETbfI-_H_lAAja HTTP/1.1
Host: 192.168.1.75:4000
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: xUMPRHBepIKukffJXfKQLw==
Sec-WebSocket-Protocol: arduino
origin: http://192.168.1.80
User-Agent: arduino-WebSocket-Client

[write] n: 317 t: 1512265
[WS-Client][sendHeader] sending header... Done (34873us).
[WS-Client][handleHeader] RX: HTTP/1.1 101 Switching Protocols
[WS-Client][handleHeader] RX: Upgrade: websocket
[WS-Client][handleHeader] RX: Connection: Upgrade
[WS-Client][handleHeader] RX: Sec-WebSocket-Accept: fMrX17J3Pd1GVE5yYDwKgUz7CNE=
[WS-Client][handleHeader] RX: Sec-WebSocket-Protocol: arduino
[WS-Client][handleHeader] Header read fin.
[WS-Client][handleHeader] Client settings:
[WS-Client][handleHeader]  - cURL: /socket.io/?EIO=4
[WS-Client][handleHeader]  - cKey: xUMPRHBepIKukffJXfKQLw==
[WS-Client][handleHeader] Server header:
[WS-Client][handleHeader]  - cCode: 101
[WS-Client][handleHeader]  - cIsUpgrade: 1
[WS-Client][handleHeader]  - cIsWebsocket: 1
[WS-Client][handleHeader]  - cAccept: fMrX17J3Pd1GVE5yYDwKgUz7CNE=
[WS-Client][handleHeader]  - cProtocol: arduino
[WS-Client][handleHeader]  - cExtensions:
[WS-Client][handleHeader]  - cVersion: 0
[WS-Client][handleHeader]  - cSessionId: ipvzuEETbfI-_H_lAAja
[WS-Client][handleHeader] Websocket connection init done.
[WS][0][headerDone] Header Handling Done.
[wsIOc] Connected to url: /socket.io/?EIO=4
[WS][0][sendFrame] ------- send message frame -------
[WS][0][sendFrame] fin: 1 opCode: 1 mask: 1 length: 6 headerToPayload: 0
[WS][0][sendFrame] text: 2probe
[WS][0][sendFrame] pack to one TCP package...
[write] n: 12 t: 1512392
[WS][0][sendFrame] sending Frame Done (3332us).
[WS][0][sendFrame] ------- send message frame -------
[WS][0][sendFrame] fin: 1 opCode: 1 mask: 1 length: 1 headerToPayload: 1
[WS][0][sendFrame] text: 5
[write] n: 7 t: 1512413
[WS][0][sendFrame] sending Frame Done (3104us).
[IOc] Connected to url: /socket.io/?EIO=4
[write] n: 6 t: 1512421
[write] n: 2 t: 1512427
[write] n: 33 t: 1512430
[WS][0][handleWebsocketWaitFor] size: 2 cWsRXsize: 0
[readCb] n: 2 t: 1512439
[WS][0][handleWebsocketWaitFor][readCb] size: 2 ok: 1
[WS][0][handleWebsocket] ------- read massage frame -------
[WS][0][handleWebsocket] fin: 1 rsv1: 0 rsv2: 0 rsv3 0  opCode: 1
[WS][0][handleWebsocket] mask: 0 payloadLen: 6
[readCb] n: 6 t: 1512461
[WS][0][handleWebsocket] text: 3probe
[wsIOc] get pong
[WS][0][handleWebsocketWaitFor] size: 2 cWsRXsize: 0
[readCb] n: 2 t: 1512474
[WS][0][handleWebsocketWaitFor][readCb] size: 2 ok: 1
[WS][0][handleWebsocket] ------- read massage frame -------
[WS][0][handleWebsocket] fin: 1 rsv1: 0 rsv2: 0 rsv3 0  opCode: 8
[WS][0][handleWebsocket] mask: 0 payloadLen: 0
[WS][0][handleWebsocket] get ask for close. Code: 1000

[WS][0][handleWebsocket] clientDisconnect code: 1000
[WS][0][sendFrame] ------- send message frame -------
[WS][0][sendFrame] fin: 1 opCode: 8 mask: 1 length: 2 headerToPayload: 0
[WS][0][sendFrame] pack to one TCP package...
[write] n: 8 t: 1512521
[WS][0][sendFrame] sending Frame Done (3144us).
[WS-Client] client disconnected.
[IOc] Disconnected!

Anything else I'm looking forward to hearing from you

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions