0
調用函數我有twisted.internet.reactor
問題,我所有的客戶有完全一致的環境中,但只有一些經驗,這個問題:扭曲反應堆無法從線程正確
他們正確地通過ws
和交流第一幾條消息connectTCP
到服務器。在約一分鐘,他們應該通過
def execute(self, message, callback=None):
print(">>>", message, flush=True)
reactor.callFromThread(self._client_protocol_instance.send, message, callback)
self._client_protocol_instance.send
方法將消息發送到服務器的定義如下:
def send(self, command, callback):
print("send", command, callback, flush=True)
timestamp = int(time() * 1000000)
msg = (command.strip() + " --timestamp:" + str(timestamp))
if _self._debug:
_self._commands[str(timestamp)] = msg
if callback is not None:
_self._callbacks[str(timestamp)] = callback
payload = msg.encode()
_self._status_controller.set_state(payload)
self.sendMessage(payload)
首先print
顯示了在標準輸出,但第二個沒有。我假設send
沒有得到執行。在reactor.run()
之後,這是整個程序中唯一參考reactor
。
服務器立即檢測到發生這種情況後終止客戶端的過程,因此當時連接仍然存在。
這可能是什麼原因造成的?