OverviewFilesCommitsIssuesDocsReleasesPeers

hyperswarm-peer / project / test_conn.gd

18 lines · gd ref:
extends SceneTree
# The floor: can two peers connect at all, with no overlay in the picture?
func _init():
	var server: Variant = ClassDB.instantiate("HyperswarmMultiplayerPeer")
	var client: Variant = ClassDB.instantiate("HyperswarmMultiplayerPeer")
	print("server:", server.create_server(38741), " client:", client.create_client("127.0.0.1", 38741))
	var saw := {"s": -1, "c": -1}
	server.peer_connected.connect(func(id): saw.s = id)
	client.peer_connected.connect(func(id): saw.c = id)
	var t := 0
	while t < 12000 and (saw.s == -1 or saw.c == -1):
		server.poll(); client.poll()
		OS.delay_msec(20); t += 20
	print("after %dms: server_saw=%d client_saw=%d server_status=%d client_status=%d" %
		[t, saw.s, saw.c, server.get_connection_status(), client.get_connection_status()])
	print("RESULT:", "CONNECTS" if (saw.s != -1 and saw.c != -1) else "DOES NOT CONNECT")
	quit(0)