Skip to content

Instantly share code, notes, and snippets.

@rcurtis
Last active September 25, 2023 20:37
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save rcurtis/07c7a9eadc5978ca7b730fb9cc393365 to your computer and use it in GitHub Desktop.
Save rcurtis/07c7a9eadc5978ca7b730fb9cc393365 to your computer and use it in GitHub Desktop.
extends Node
var client
var wrapped_client
var connected = false
var message_center
var should_connect = false
func _ready():
client = StreamPeerTCP.new()
client.set_no_delay(true)
func _process(delta):
if should_connect and not connected:
pass
if connected and not client.is_connected_to_host():
connected = false
if client.is_connected_to_host():
poll_server()
func connect_to_server(timeout_seconds):
set_process(true)
should_connect = true
var ip = "127.0.0.1"
var port = 8008
logger.info("Connecting to server: %s : %s" % [ip, str(port)])
var connect = client.connect_to_host(ip, port)
if client.is_connected_to_host():
connected = true
logger.info("Connected to local host server")
wrapped_client = PacketPeerStream.new()
wrapped_client.set_stream_peer(client)
func disconnect_from_server():
client.disconnect_from_host()
func poll_server():
while wrapped_client.get_available_packet_count() > 0:
var msg = wrapped_client.get_var()
var error = wrapped_client.get_packet_error()
if error != 0:
logger.error("Error on packet get: %s" % error)
if msg == null:
continue;
logger.verbose("Received msg: " + str(msg))
message_center.process_msg(str(msg))
func send_var(msg):
if client.is_connected_to_host():
logger.verbose("Sending: %s" % msg)
wrapped_client.put_var(msg)
var error = wrapped_client.get_packet_error()
if error != 0:
logger.error("Error on packet put: %s" % error)
@mushu0-0
Copy link

Hi, where is logger declared? whats its use? cant seem to run it

@cschar
Copy link

cschar commented Aug 27, 2021

@mushu0-0

Hi, where is logger declared? whats its use? cant seem to run it

https://github.com/KOBUGE-Games/godot-logger

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment