class ClientConnection(WebSocketHandler): def open(self): print("New connection.") self.application.server.clients.append(self) self.client = Client(self) @coroutine def on_message(self, message): try: data = json.loads(message) yield self.client.on_message(data) except Exception: traceback.print_exc() def send(self, obj): self.write_message(json.dumps(obj, default=json_serial)) @coroutine def on_close(self): try: yield self.client.on_close() except Exception: traceback.print_exc() self.application.server.clients.remove(self)
def on_connect(client, obj, rc): print("rc: "+str(rc)) def on_message(client, obj, msg): print(msg.topic+" "+str(msg.qos)+" "+str(msg.payload)) def on_publish(client, obj, mid): print("mid: "+str(mid)) def on_subscribe(client, obj, mid, granted_qos): print("Subscribed: "+str(mid)+" "+str(granted_qos)) def on_log(client, obj, level, string): print(string) if __name__ == '__main__': client = Client() client.on_message = on_message client.on_connect = on_connect client.on_publish = on_publish client.on_subscribe = on_subscribe client.connect("192.168.3.100", "1883", 60) client.subscribe("latopic", 0) ret = 0 while (ret == 0): client.loop()