add TimeoutException and throw, remove VoidSocket