summaryrefslogtreecommitdiff
path: root/src/net_test.moon
blob: c4989ab1a5c4a0873e48cf1044b606e72cc01758 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
net = require("net")

ui = require("ui")

test_button = ui.button(0,0,100,100,"Test")
pull_button = ui.button(100,0,100,100,"Pull")
send_button = ui.button(200,0,100,100,"Send")

net.initalize!
peer1, peer2, conn = nil, nil, nil
test_button.on = (e) =>
	net.register_message("HelloRequest",{
		required:{
			n1: "number"
			n2: "number"
		}
	})
	net.register_message("HelloResponse",{
		required:{
			n: "number"
		}
	})
	peer1 = net.Peer()
	peer1\on("open", (data) => 
		print("Peer1 opened", data)
	)
	peer1\on("data",(data) =>
		print("Peer 1 received data!")
	)
	peer1\on("error",(data) =>
		print("Peer 1 error:", data)
	)
	peer1\on("connection",(message)=>
		print("Peer1 connection:", message)
		message.data\on("data",(data)=>
			print("Peer1 received data:",data)
		)
	)
	peer2 = net.Peer()
	peer2\on("open", (data) =>
		print("Peer2 opened",data)
		conn = peer2\connect("blah-blah3")
		conn\on("data",(data) =>
			print("Peer2 data:",data)
		)
	)
	peer2\on("connection", (data) =>
		print("Peer2 connected", data)
	)
	peer2\on("error", (data) =>
		error("Net error: " .. tostring(data))
	)
	peer2\on("data", (data) =>
		print("Peer2 on data",data)
	)

pull_button.on = (e) =>
	net.pump!

send_button.on = (e) =>
	conn\send("HelloRequest",{
		n1:1
		n2:2
	})