use IO::Socket blocking wherever possible