aboutsummaryrefslogtreecommitdiff
path: root/reference
diff options
context:
space:
mode:
authorAlexander <alex@cogarr.net>2020-06-29 15:29:03 -0400
committerAlexander <alex@cogarr.net>2020-06-29 15:29:03 -0400
commit80789508b9655d25629223b9dcc84b4cfb77ce45 (patch)
tree37e140e532af61c1ca4699c8b6254cf2cb07ed02 /reference
parent44a1421c393632978d59c0698a93ae22243b97e9 (diff)
downloadbrokengine-80789508b9655d25629223b9dcc84b4cfb77ce45.tar.gz
brokengine-80789508b9655d25629223b9dcc84b4cfb77ce45.tar.bz2
brokengine-80789508b9655d25629223b9dcc84b4cfb77ce45.zip
Updates for mdoc
Also more tests
Diffstat (limited to 'reference')
-rw-r--r--reference/networking.md40
1 files changed, 40 insertions, 0 deletions
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)