gdvrpn/uvrpn.gd

51 lines
1.3 KiB
GDScript3
Raw Normal View History

2025-06-26 10:57:37 +02:00
extends Node
@export var url : String = "localhost"
@export var port : int = 3883
2025-06-26 21:19:51 +02:00
var vrpn_cookie : String = "vrpn: ver. 07.35"
#var server : UDPServer = null
@onready var socket : StreamPeerTCP = StreamPeerTCP.new()
2025-06-26 10:57:37 +02:00
func _ready() -> void:
2025-06-26 21:19:51 +02:00
#if StreamPeerTCP.STATUS_NONE == socket.get_status():
if socket.connect_to_host(url,port) == OK:
print("Socket connected ...")
socket.set_no_delay(true)
send_data(socket,vrpn_cookie.to_utf8_buffer())
#server = UDPServer.new()
#server.listen(3883)
else:
print("Error connecting to server")
#else:
#print("Stream not ready")
2025-06-26 17:43:24 +02:00
2025-06-26 10:57:37 +02:00
func _process(delta: float) -> void:
2025-06-26 21:19:51 +02:00
if socket:
socket.poll()
##return
##if server:
##server.poll()
##if server.is_connection_available():
##var peer = server.take_connection()
##var packet = peer.get_packet()
##print("Accepted peer: %s:%s" % [peer.get_packet_ip(), peer.get_packet_port()])
##print("Received data: %s" % [packet.get_string_from_utf8()])
### Reply so it knows we received the message.
##peer.put_packet(packet)
2025-06-26 17:43:24 +02:00
static func send_data(socket : StreamPeerTCP, data: PackedByteArray) -> bool:
2025-06-26 21:19:51 +02:00
print(socket.get_status())
if socket.get_status() == StreamPeerTCP.STATUS_CONNECTED:
if socket.put_data(data) == OK:
return true
else:
print("Error writing data ...")
return false
else:
print("Error connecting")
return false