Godot WebSocket Connection

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Library_Keeper

Task: Write basic code for client-server interaction using WebSocket in Python (server side) and Godot 3.5.2 (client side).

Python - Server side:

import asyncio
import websockets

async def server(websocket, path):
    async for message in websocket:
        print(f"Received message: {message}")
        await websocket.send(f"Received message: {message}")

async def main():
    async with websockets.serve(server, "localhost", 8765):
        await asyncio.Future()  # keep running

asyncio.run(main())

Godot 3.5.2 - Client side:

extends Node

var ws = WebSocketClient.new()

func _ready():
    ws.connect("connection_established", self, "_on_connection_established")
    ws.connect("connection_closed", self, "_on_connection_closed")
    ws.connect("data_received", self, "_on_data_received")
    ws.connect("connection_error", self, "_on_connection_error")
    ws.connect_to_url("ws://localhost:8765")

func _on_connection_established():
    print("Connected to server")

func _on_connection_closed():
    print("Disconnected from server")

func _on_data_received(data: String):
    print("Received message:", data)

func _on_connection_error():
    print("Error")

Upon running the code, nothing happens and no errors are being displayed.