initial commit
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# client_node.gd
|
||||
class_name ClientNode
|
||||
extends Node
|
||||
|
||||
var udp = PacketPeerUDP.new()
|
||||
var connected = false
|
||||
|
||||
var fast_broadcast_rate = 1.0
|
||||
var slow_broadcast_rate = 10.0
|
||||
var current_broadcast_rate = fast_broadcast_rate
|
||||
var last_broadcast = 0
|
||||
|
||||
var ip_address: String = ""
|
||||
|
||||
func _ready():
|
||||
_try_set_ip()
|
||||
udp.set_broadcast_enabled(true)
|
||||
udp.set_dest_address("192.168.0.255", 5000)
|
||||
SensorSignals.new_sensor_connected.connect(_on_sensor_connected)
|
||||
|
||||
func _process(delta):
|
||||
if ip_address.length() == 0:
|
||||
_try_set_ip()
|
||||
return
|
||||
last_broadcast += delta
|
||||
if last_broadcast >= current_broadcast_rate:
|
||||
# Try to contact server
|
||||
last_broadcast = 0
|
||||
var broadcast_str = ip_address + "|%s" % Time.get_datetime_string_from_system(true)
|
||||
print('Broadcasting to UDP: ', broadcast_str)
|
||||
udp.put_packet(broadcast_str.to_utf8_buffer())
|
||||
|
||||
func _try_set_ip():
|
||||
for address in IP.get_local_addresses():
|
||||
if address.begins_with("192"):
|
||||
if address.ends_with("0.1"):
|
||||
continue
|
||||
ip_address = address
|
||||
break
|
||||
|
||||
func _on_sensor_connected(sensor_ip, sensor_data):
|
||||
current_broadcast_rate = slow_broadcast_rate
|
||||
Reference in New Issue
Block a user