socket nonblocking tools