aboutsummaryrefslogtreecommitdiff
path: root/bin/client/main.lua
diff options
context:
space:
mode:
Diffstat (limited to 'bin/client/main.lua')
-rw-r--r--bin/client/main.lua49
1 files changed, 49 insertions, 0 deletions
diff --git a/bin/client/main.lua b/bin/client/main.lua
new file mode 100644
index 0000000..df33e21
--- /dev/null
+++ b/bin/client/main.lua
@@ -0,0 +1,49 @@
+io.stdout:setvbuf("no")
+local thread = nil
+local socket = nil
+local asynReceive = [[
+io.stdout:setvbuf("no")
+local thread = jin.thread.getThread()
+local socket = thread:demand(1)
+while true do
+ -- local sendBuf = thread:demand(3)
+ -- socket:send(sendBuf)
+ local buf = socket:receive()
+ thread:send(2, buf)
+end
+]]
+local x = 30
+local y = 30
+jin.core.onLoad = function()
+ thread = jin.thread.Thread("asynReceive", asynReceive)
+ jin.net.init()
+ socket = jin.net.Socket("TCP", "127.0.0.1", 8809)
+ thread:start()
+ thread:send(1, socket)
+end
+
+jin.core.onEvent = function(e)
+ if e.type == "quit" then
+ jin.core.stop() elseif e.type == "keydown" then
+ if e.key == "Escape" then
+ jin.core.stop()
+ end
+ end
+end
+local i = 0
+jin.core.onUpdate = function(dt)
+ if thread:receive(2) then
+ local buf = thread:fetch(2)
+ x, xl = buf:grabFloat(0)
+ y, yl = buf:grabFloat(xl)
+ end
+
+ -- local buf = jin.net.Buffer(0)
+ -- buf:append(x)
+ -- buf:append(y)
+ -- thread:send(3, buf)
+end
+
+jin.core.onDraw = function()
+ jin.graphics.circle("fill", x, y, 12)
+end \ No newline at end of file