As the title says I need a way to stop or interrupt a thread that is blocked waiting on an input from the socket.
Try using sock.closeInput() followed by sock.close()