This commit is contained in:
Hartmut Seichter 2025-06-26 21:19:51 +02:00
parent 127eef5a8b
commit 3b790a7217
5 changed files with 131 additions and 24 deletions

View file

@ -3,34 +3,48 @@ extends Node
@export var url : String = "localhost"
@export var port : int = 3883
var server : UDPServer = null
var socket : StreamPeerTCP = StreamPeerTCP.new()
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("localhost",3883) == OK:
send_data(socket,"localhost".to_utf8_buffer())
server = UDPServer.new()
server.listen(3883)
#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:
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)
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:
if socket.get_status() != StreamPeerTCP.STATUS_CONNECTED:
print("Error: Stream is not currently connected.")
return false
var error: int = socket.put_data(data)
if error != OK:
print("Error writing to stream: ", error)
return false
return true
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