diff options
| author | Alexander <alex@cogarr.net> | 2020-06-29 15:29:03 -0400 |
|---|---|---|
| committer | Alexander <alex@cogarr.net> | 2020-06-29 15:29:03 -0400 |
| commit | 80789508b9655d25629223b9dcc84b4cfb77ce45 (patch) | |
| tree | 37e140e532af61c1ca4699c8b6254cf2cb07ed02 /reference/networking.md | |
| parent | 44a1421c393632978d59c0698a93ae22243b97e9 (diff) | |
| download | brokengine-80789508b9655d25629223b9dcc84b4cfb77ce45.tar.gz brokengine-80789508b9655d25629223b9dcc84b4cfb77ce45.tar.bz2 brokengine-80789508b9655d25629223b9dcc84b4cfb77ce45.zip | |
Updates for mdoc
Also more tests
Diffstat (limited to 'reference/networking.md')
| -rw-r--r-- | reference/networking.md | 40 |
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)
|
