29 lines
788 B
GDScript3
29 lines
788 B
GDScript3
|
extends RichTextLabel
|
||
|
|
||
|
# docs.redotengine.org/en/stable/tutorials/networking/websocket.html
|
||
|
@export var fallpack_websocket_url = "ws://localhost:8080/ws/server"
|
||
|
var websocket_url = OS.get_environment("TD_SERVER_WS")
|
||
|
var socket = WebSocketPeer.new()
|
||
|
|
||
|
|
||
|
func _ready() -> void:
|
||
|
if websocket_url.is_empty():
|
||
|
websocket_url = fallpack_websocket_url
|
||
|
var err = socket.connect_to_url(websocket_url)
|
||
|
if err != OK:
|
||
|
error_string(err)
|
||
|
set_process(false)
|
||
|
|
||
|
|
||
|
func _process(_delta: float) -> void:
|
||
|
socket.poll()
|
||
|
var state = socket.get_ready_state()
|
||
|
|
||
|
if state == WebSocketPeer.STATE_CLOSED:
|
||
|
self.text = "Disconnected"
|
||
|
return
|
||
|
|
||
|
if state == WebSocketPeer.STATE_OPEN:
|
||
|
while socket.get_available_packet_count():
|
||
|
self.text = "Current Unixtime: " + socket.get_packet().get_string_from_utf8()
|