-
-
Save AwokeKnowing/ee4b09177f2343fcae1695e79eece520 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment