in reply to Re: server doesn't detect closed sockets?
in thread server doesn't detect closed sockets?
I looked at the source of IO::Socket::connected and it's just calling peername on the socket. So I inserted these lines into the while loop code to see what's going on:
print "peername: " . $req->peername . "\n"; print "peerpath: " . $req->peerpath . "\n";
peername is always a string of one space, regardless of whether data has been written or read from the socket, or whether the socket has been closed in the client. How do I set the peername from the client side on a unix domain socket?
Peerpath displays as binarygiberish1 the first call, binarygiberish2, the second, then binarygiberish3, and then the binarygiberish2 and binarygiberish3 alternate forever. What is the binary giberish and how can I unpack it? Maybe this is a useful testable value?
|
|---|