Diffstat (limited to 'WS.gd')
-rw-r--r--WS.gd16
1 files changed, 12 insertions, 4 deletions
diff --git a/WS.gd b/WS.gd
index e04bf78..ef3717e 100644
--- a/WS.gd
+++ b/WS.gd
@@ -5,6 +5,9 @@ var ws = WebSocketClient.new()
var timer = Timer.new()
signal recieved(data)
+signal err(err)
+
+const HEADERS = {"chat": "C", "ping": "P"}
func _ready():
@@ -15,7 +18,11 @@ func _ready():
ws.connect("connection_closed", self, "_connection_closed")
ws.connect("connection_error", self, "_connection_error")
ws.connect("data_received", self, "_data_recieved")
+ ws.connect("connection_failed", self, "connectwebsocket")
+ connectwebsocket()
+
+func connectwebsocket():
var url = "https://chat-server-gd.herokuapp.com/"
print("Connecting to " + url)
ws.connect_to_url(url)
@@ -30,17 +37,18 @@ func _connection_established(protocol):
func _connection_closed(_err):
- print("Connection closed")
+ emit_signal("err", "Connection closed")
func _connection_error():
- print("Connection error")
+ emit_signal("err", "Connection error")
func _data_recieved():
var text = ws.get_peer(1).get_var()
- emit_signal("recieved", text)
- print("recieved %s" % text.text)
+ if text.header == HEADERS.chat:
+ emit_signal("recieved", text)
+ print("recieved %s" % text.text)
func _process(_delta):