MarshReaper,
@MarshReaper@lemmy.world avatar

UPDATE

I posted this before testing out an older version of godot and it seems to work just great! But as in the github issue, that is because of changes with how the protocols worked and what headers are sent!

Here is the code for use in Godot 3.1.1:


<span style="color:#323232;">extends Node
</span><span style="color:#323232;">
</span><span style="color:#323232;">var _client = WebSocketClient.new()
</span><span style="color:#323232;">
</span><span style="color:#323232;">func _ready():
</span><span style="color:#323232;">	print("connecting...")
</span><span style="color:#323232;">	_client.connect("connection_closed", self, "ws_closed")
</span><span style="color:#323232;">	_client.connect("connection_error", self, "ws_connection_error")
</span><span style="color:#323232;">	_client.connect("connection_established", self, "ws_connection_established")
</span><span style="color:#323232;">	_client.connect("server_close_request", self, "ws_close_request")
</span><span style="color:#323232;">	_client.connect_to_url("wss://ws.revolt.chat/?version=1&format=json&token={token}")
</span><span style="color:#323232;">
</span><span style="color:#323232;">func ws_closed(clean):
</span><span style="color:#323232;">	if !clean:
</span><span style="color:#323232;">		print("websocket closed")
</span><span style="color:#323232;">	else:
</span><span style="color:#323232;">		print("websocket closed cleanly")
</span><span style="color:#323232;">
</span><span style="color:#323232;">func ws_connection_error():
</span><span style="color:#323232;">	print("websocket connection failed")
</span><span style="color:#323232;">
</span><span style="color:#323232;">func ws_connection_established(protocol):
</span><span style="color:#323232;">	print("we're connected using protocol: ", protocol)
</span><span style="color:#323232;">
</span><span style="color:#323232;">func ws_close_request(code, reason):
</span><span style="color:#323232;">	print("closed with code: ", code, " and reason: ", reason)
</span><span style="color:#323232;">
</span><span style="color:#323232;">func _process(delta):
</span><span style="color:#323232;">	if _client.get_connection_status() == WebSocketClient.CONNECTION_DISCONNECTED:
</span><span style="color:#323232;">		return
</span><span style="color:#323232;">	print(_client.get_peer(1).get_packet().get_string_from_utf8())
</span><span style="color:#323232;">	_client.poll()
</span>
  • All
  • Subscribed
  • Moderated
  • Favorites
  • godot@programming.dev
  • anitta
  • DreamBathrooms
  • osvaldo12
  • mdbf
  • everett
  • magazineikmin
  • khanakhh
  • Youngstown
  • rosin
  • slotface
  • modclub
  • kavyap
  • tacticalgear
  • ngwrru68w68
  • JUstTest
  • thenastyranch
  • cisconetworking
  • Durango
  • ethstaker
  • InstantRegret
  • Leos
  • provamag3
  • GTA5RPClips
  • tester
  • cubers
  • megavids
  • normalnudes
  • lostlight
  • All magazines