diff options
| author | ruki <[email protected]> | 2019-11-03 23:01:23 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-11-03 23:01:23 +0800 |
| commit | 7a63343afae6bf51e25ec4b7d2d8cdf704de3c1a (patch) | |
| tree | 1664a59a6338713d0020546bd91e991dece84342 /tests/modules/socket | |
| parent | 8eddfb0d678d6ea5427ae55e9dff108fde5add42 (diff) | |
improve udp demo
Diffstat (limited to 'tests/modules/socket')
| -rw-r--r-- | tests/modules/socket/udp/echo_client.lua | 9 | ||||
| -rw-r--r-- | tests/modules/socket/udp/echo_server.lua | 10 |
2 files changed, 14 insertions, 5 deletions
diff --git a/tests/modules/socket/udp/echo_client.lua b/tests/modules/socket/udp/echo_client.lua index 2c628cc92..f46ae4716 100644 --- a/tests/modules/socket/udp/echo_client.lua +++ b/tests/modules/socket/udp/echo_client.lua @@ -1,10 +1,15 @@ import("core.base.socket") -function main() +function main(data) local addr = "127.0.0.1" local port = 9001 local sock = socket.udp() - local send = sock:sendto("hello world..", addr, port, {block = true}) + local send = sock:sendto(data or "hello xmake!", addr, port, {block = true}) print("%s: send to %s:%d %d bytes!", sock, addr, port, send) + local recv, data, peer_addr, peer_port = sock:recvfrom(8112, {block = true}) + if recv > 0 then + print("%s: recv %d bytes from %s:%d", sock, recv, peer_addr, peer_port) + data:dump() + end sock:close() end diff --git a/tests/modules/socket/udp/echo_server.lua b/tests/modules/socket/udp/echo_server.lua index 98cf72f7c..352c2a6db 100644 --- a/tests/modules/socket/udp/echo_server.lua +++ b/tests/modules/socket/udp/echo_server.lua @@ -1,13 +1,17 @@ import("core.base.socket") function main() + local addr = "127.0.0.1" + local port = 9001 local sock = socket.udp() + sock:bind(addr, port) while true do - print("%s: recv ..", sock) - local recv, data, addr, port = sock:recv(8192, {block = true}) - print("%s: recv: %d bytes from: %s:%d", sock, recv, addr, port) + print("%s: recv in %s:%d ..", sock, addr, port) + local recv, data, peer_addr, peer_port = sock:recvfrom(8192, {block = true}) + print("%s: recv %d bytes from: %s:%d", sock, recv, peer_addr, peer_port) if data then data:dump() + sock:sendto(data:str(), peer_addr, peer_port) end end sock:close() |
