This code;
local socket = require("socket")
local PORT = 30000
local server1, server2
print (socket._VERSION)
server1=socket.tcp()
assert(server1:setoption('reuseaddr', true))
assert(server1:bind("*", PORT))
assert(server1:listen())
server2=socket.tcp()
assert(server2:setoption('reuseaddr', true))
assert(server2:bind("*", PORT))
assert(server2:listen())
runs fine on Windows, yet on Linux (Debian 7, WM ware image)
the second `bind` (for server2) fails with a "socket already
in use" error. Despite the 'reuseaddr' socket option.
Anyone seen this and knows how to resolve it?
any help is appreciated.
Thijs
(testing a server, which involves a lot of tests quickly
stopping and starting the server. The abandonned sockets are
sometimes not available again before the server restarts,
which makes tests fail in an unpredictible manner)