1
websocketクライアントを使用してテストメッセージをdjangoサーバに送信しているときに、メッセージを送受信できるスクリプトを取得できません。Python WebSocketクライアントメッセージを接続していますが、メッセージを送信していません
import websocket
import threading
import json
from time import sleep
# handle message event
def on_message(ws, message):
print("message recieved: %s" % message)
# handle close event
def on_close(ws):
print("channel closed")
# execute as main script
if __name__ == "__main__":
websocket.enableTrace(True)
# new app object connecting to headstation
ws = websocket.WebSocketApp("ws://192.168.0.106:8000/?testI123", on_message = on_message, on_close = on_close)
# run in a new thread - kill if script ends
ws_listener = threading.Thread(target=ws.run_forever())
ws_listener.daemon = True
# start second thread
ws_listener.start()
# attempt connection 5 times
timeout = 5
while not ws.sock.connected and timeout:
sleep(1)
timeout -= 1
# error on timeout
if (timeout == 0):
print("Connection to server timed out")
print("test 1")
# periodically send test message to server
message_num = 0
while ws.sock.connected:
# send node id and message
message = 'hello %d'%message_num
ws.send(message)
sleep(1)
message_num += 1
この接続に成功し、サーバーによって起訴され、サーバーから送信されたメッセージを受信しますが、何も送信しません:
次のPythonスクリプト
は、私がしようとしたものです。定期的に、このような何かが端末に表示されます:
send: b'\x8a\x84\xe2\xe9\xa8\xe2\x8f\xdc\xe2\x84'
私は単に
ws = websocket.WebSocket()
ws.connect(url)
ws.send("hello")
を使用する場合、これは完璧に動作します。上に表示された私の小さなpythonスクリプトでは何か問題を示唆しています。問題を発見