summaryrefslogtreecommitdiff
path: root/tests/modules/socket/udp/echo_server.lua
blob: 4aabb79de4f2af844ce572008bb06a7ad3f6f8c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import("core.base.bytes")
import("core.base.socket")

function main()
    local addr = "127.0.0.1"
    local port = 9091
    local sock = socket.udp()
    local buff = bytes(8192)
    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(buff, 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