| 123456789101112131415161718192021222324252627 |
- -- load namespace
- local socket = require("socket.core")
- -- create a TCP socket and bind it to the local host, at any port
- --local server = assert(socket.bind("*", 0))
- local server = socket.tcp();
- --server.bind("*", 0);
- server:setoption("reuseaddr", true);
- server:bind("*", 0);
- server:listen();
- -- find out which port the OS chose for us
- local ip, port = server:getsockname()
- -- print a message informing what's up
- print("Please telnet to localhost on port " .. port)
- print("After connecting, you have 10s to enter a line to be echoed")
- -- loop forever waiting for clients
- while 1 do
- -- wait for a connection from any client
- local client = server:accept()
- -- make sure we don't block waiting for this client's line
- --client:settimeout(10)
- -- receive the line
- local line, err = client:receive()
- -- if there was no error, send it back to the client
- if not err then client:send(line .. "\n") end
- -- done with client, close the object
- client:close()
- end
|