From 80789508b9655d25629223b9dcc84b4cfb77ce45 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 29 Jun 2020 15:29:03 -0400 Subject: Updates for mdoc Also more tests --- reference/networking.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 reference/networking.md (limited to 'reference') diff --git a/reference/networking.md b/reference/networking.md new file mode 100644 index 0000000..087dd95 --- /dev/null +++ b/reference/networking.md @@ -0,0 +1,40 @@ +# Networking example + +A simple example of networking, ripped straight from the brok[en]gine test suite. + + +### Client + + local has_ponged = false + local socket = net.newsocket(net.PAIR) + socket:bind("tcp://127.0.0.1:5555") + function socket:receive(stream) + print("socket receive triggered") + has_ponged = true + local message = stream:readstring() + assert(message == "ping") + socket:send(function(stream2) + stream2:writestring("pong") + end) + end + local i = os.time() + function GAME.tick() + if has_ponged then + GAME.exit() + end + if i - os.time() > 5 then + error("Failed") + end + end + +### Server + + local socket = net.newsocket(net.PAIR) + socket:connect("tcp://127.0.0.1:5555") + function socket:receive(stream) + local message = stream:readstring() + assert(message == "pong") + end + socket:send(function(stream) + stream:writestring("ping") + end) -- cgit v1.2.3-70-g09d2