Estoy tratando de combinar websocket de adonisjs (v4.1) con gdscript.
Y eso significa que necesito conectarme a adonisjs desde godot mediante el código gdscript.
Ahora, la pregunta más clara es "debido a que el socket de adonisjs se está ejecutando en un canal, ¿cómo suscribirse al canal de websocket de adonisjs?"
Para una comprensión más fácil del problema, hay algunos códigos que en el lado del servidor creé para comunicarme con gdscript y aquí están:
'use strict' const Ws = use('Ws') Ws.channel('chat', 'ChatController') 'use strict' class ChatController { constructor ({ socket, request }) { this.socket = socket this.request = request console.log('connected') } onMessage (message) { console.log(message) } } module.exports = ChatControllerY aquí está el código lateral de gdscript que se conecta con éxito con un servidor de socket nodejs simple sin ningún problema, pero en la estructura del canal que se implementa dentro de adonisjs, la conexión no se realizará.
extends Node2D export var SOCKET_URL = "ws://127.0.0.1:3333" var _client = WebSocketClient.new() func _ready(): _client.connect("connection_closed", self, "_on_connection_closed") _client.connect("connection_error", self, "_on_connection_closed") _client.connect("connection_established", self, "_on_connected") _client.connect("data_received", self, "_on_data") var err = _client.connect_to_url(SOCKET_URL) if err != OK: print('unable to connect') set_process(false) func _process(delta): _client.poll() func _on_connection_closed(was_clean = false): print('Closed, clean: %s' % was_clean) set_process(false) func _on_connected(proto = ''): print('connected with protocol: %s' % proto) func _on_data(): var payload = JSON.parse(_client.get_peer(1).get_packet().get_string_from_utf8()).result print('received data: %s' % payload) func _send(): _client.get_peer(1).put_packet(JSON.print({"test": "Test"}).to_utf8())Ahora, ¿cómo debo cambiar el código o qué debo agregar al archivo socket.gd para tener una conexión exitosa con el servidor adonisjs y suscribirme al canal de chat que está definido en el archivo socket.js?