simple non-blocking socket