godot
Godot MarshReaper 6 months ago 100%

WebSocket not receiving anymore updates after initial connection

codeberg.org

Godot web socket client is not receiving anymore updates from Revolt web socket server (https://developers.revolt.chat/stack/bonfire/establishing) after first data is received

first data is an Authentication success message:

{
  "type": "Authenticated"
}

This success message comes when a successful token is received.

Since there are no updates and you cannot send any data after initial connection (data_received never called again, so put_packet() not working apparently), the token will have to be in query parameters:

wss://ws.revolt.chat/?version=1&format=json&token={token}

in order to even receive that success message.

An issue relating to web sockets was opened: https://github.com/godotengine/godot/issues/27560

The user claims that one of the headers causes the connection to cease.

The problem header is Connection: close, Upgrade

    GET / HTTP/1.1
    Pragma: no-cache
    Cache-Control: no-cache
    Host: echo.websocket.org
    Upgrade: websocket
    Connection: close, Upgrade
    Sec-WebSocket-Key: HKWU1xOVV6PP6HXjcIWMDQ==
    Sec-WebSocket-Version: 13

    HTTP/1.1 101 Web Socket Protocol Handshake
    Connection: Upgrade
    Date: Sun, 31 Mar 2019 19:09:01 GMT
    Sec-WebSocket-Accept: 0IHc3riAKJz52YmkLVcWrDHvaYs=
    Server: Kaazing Gateway
    Upgrade: websocket

IMPORTANT!!

What SHOULD happen and what happens on other clients like websocketking, piehost, or this one is receiving a READY update

the big issue:

connect_to_url() is the only thing that sends data or the connection closes or a protocol error

It would be of great help if anyone could give any little piece of knowledge or suggestion on this. code

13
2
Comments 2