Estoy tratando de convertir esta pequeña aplicación websocket de JavaScript en una para Python para poder ejecutarla en una frambuesa, pero no puedo resolverlo. Esto es lo lejos que llegué hasta ahora, pero todo lo que obtengo es "conexión rechazada". No tengo mucha experiencia con websockets, así que no sabría adónde ir desde aquí.
JavaScript:
let websocketClient try { websocketClient = new WebSocket("ws://127.0.0.1:15881/v2/feedbacks?app_id=123&app_name=hackvest") } catch (e) { console.log("PlayerSocket", e) } websocketClient.onopen = function() { console.log("open"); }; websocketClient.onmessage = function(e) { websocketClient.send(JSON.stringify({ "Submit": [{ "Type": "turnOff", "Key": "" }] })); console.log(e) }; websocketClient.onclose = function(e) { console.log("close"); console.log(e) }; var n = JSON.stringify({ Submit: [{ Type: "turnOff", Key: "" }] })Pitón:
import websocket import _thread import time def on_message(ws, message): print(message) def on_error(ws, error): print(error) def on_close(ws, close_status_code, close_msg): print("### closed ###") def on_open(ws): print("open") if __name__ == "__main__": websocket.enableTrace(True) ws = websocket.create_connection("ws://127.0.0.1:15881/v2/feedbacks?app_id=com.bhaptics.designer2&app_name=hackvest", on_open=on_open, on_message=on_message, on_error=on_error, on_close=on_close) ws.run_forever()Basado en el ejemplo websocket-client , se vería así:
import websocket import _thread import time def on_message(ws, message): print(message) message_to_send = { "Submit": [{ "Type": "turnOff", "Key": "" }]} ws.send(message_to_send) def on_error(ws, error): print(error) def on_close(ws, close_status_code, close_msg): print("### closed ###") def on_open(ws): def run(*args): for i in range(3): time.sleep(1) ws.send("Hello %d" % i) time.sleep(1) ws.close() print("thread terminating...") _thread.start_new_thread(run, ()) if __name__ == "__main__": websocket.enableTrace(True) ws = websocket.WebSocketApp("ws://127.0.0.1:15881/v2/feedbacks?app_id=123&app_name=hackvest", on_open=on_open, on_message=on_message, on_error=on_error, on_close=on_close) ws.run_forever() Antes de ejecutar, ejecute: pip3 install websocket-client !