| 139 | |
| 140 | class TCPTransport(FramedTransport): |
| 141 | def __init__(self, host, port, isServer): |
| 142 | super(TCPTransport, self).__init__() |
| 143 | self._host = host |
| 144 | self._port = port |
| 145 | self._isServer = isServer |
| 146 | self._sock = None |
| 147 | self._socket_lock = threading.Lock() |
| 148 | |
| 149 | if self._isServer: |
| 150 | self._serverThread = threading.Thread(target=self._serve) |
| 151 | self._serverThread.daemon = True |
| 152 | self._serverThread.start() |
| 153 | self._serverSockEventStart = threading.Event() |
| 154 | else: |
| 155 | self._sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) |
| 156 | self._sock.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1) |
| 157 | self._sock.connect((self._host, self._port)) |
| 158 | |
| 159 | def _serve(self): |
| 160 | s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) |