diff options
| author | ruki <[email protected]> | 2019-12-19 22:28:54 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-12-19 08:53:26 +0800 |
| commit | 3e67c61cd338e9ad214590d24e6ad506ce5b57f6 (patch) | |
| tree | 5b4ad815e7431b5740fb5805abd97e8239615ca0 /tests/modules/socket | |
| parent | 890b6c9341f463044df04cc76d16f4a56a4707c5 (diff) | |
add sched_udp tests
Diffstat (limited to 'tests/modules/socket')
| -rw-r--r-- | tests/modules/socket/sched_udp/echo_client.lua | 19 | ||||
| -rw-r--r-- | tests/modules/socket/sched_udp/echo_server.lua | 22 |
2 files changed, 41 insertions, 0 deletions
diff --git a/tests/modules/socket/sched_udp/echo_client.lua b/tests/modules/socket/sched_udp/echo_client.lua new file mode 100644 index 000000000..7ba49042c --- /dev/null +++ b/tests/modules/socket/sched_udp/echo_client.lua @@ -0,0 +1,19 @@ +import("core.base.socket") +import("core.base.scheduler") + +function _session(addr, port, data) + local sock = socket.udp() + 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 + +function main(data) + scheduler.co_start(_session, "127.0.0.1", 9001, data) + scheduler.runloop() +end diff --git a/tests/modules/socket/sched_udp/echo_server.lua b/tests/modules/socket/sched_udp/echo_server.lua new file mode 100644 index 000000000..fd2a8d96d --- /dev/null +++ b/tests/modules/socket/sched_udp/echo_server.lua @@ -0,0 +1,22 @@ +import("core.base.socket") +import("core.base.scheduler") + +function _listen(addr, port) + local sock = socket.udp() + sock:bind(addr, port) + while true do + 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, peer_addr, peer_port) + end + end + sock:close() +end + +function main() + scheduler.co_start(_listen, "127.0.0.1", 9001) + scheduler.runloop() +end |
