fix #2 support TCPSocket.open