50 lines
1.3 KiB
GDScript
50 lines
1.3 KiB
GDScript
extends Node
|
|
|
|
@export var url : String = "localhost"
|
|
@export var port : int = 3883
|
|
|
|
var vrpn_cookie : String = "vrpn: ver. 07.35"
|
|
|
|
#var server : UDPServer = null
|
|
@onready var socket : StreamPeerTCP = StreamPeerTCP.new()
|
|
|
|
func _ready() -> void:
|
|
#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")
|
|
|
|
|
|
func _process(delta: float) -> void:
|
|
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)
|
|
|
|
|
|
static func send_data(socket : StreamPeerTCP, data: PackedByteArray) -> bool:
|
|
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
|