Yow, your post could use a little formatting.
In any case SO_REUSEADDR isn't going to help you
launch two apps that bind to the same port at the
same time (10048 in this case).
SO_REUSEADDR is only useful when you want to fire
up something even though the port is still in a TIME_WAIT
state. This isn't permitted normally, as there is a
small chance that you could get unexpected data from an
old session on the port.
If you are really determined to try it:
setsockopt(SOCK, SOL_SOCKET, SO_REUSEADDR,1) ||
die "setsockopt() failed: $!\n";
-- or from IO::Socket --
$sock = IO::Socket::INET->new( Reuse => 1,
...Other settings here
It does sound like you are using a client, and not
a server though. Re-read your own excerpt:Client programs usually need not call bind at all