Есть приложение, которое использует (Python 3.6) Tkinter & Tornado.Хотел бы он отправить сообщение веб-сокета при нажатии кнопки.
SendSocket в моем классе, который обрабатывает интерфейс.Я могу открыть свои сокеты в порядке, и могу отправить данные в обработчик сокетов в порядке.Кроме того, он подает мой HTML-файл в порядке от моего RequestHandler.
Я вижу, что мой код соответствует строке sendSocketMessage.Тем не менее, я никогда не получаю распечатку из определения SocketHandler.send_message.В консоли нет ошибок.
def sendSocketMessage(self, data = "whatever"):
print("sending")
#WebSocketeer.send_message(data)
ioloop.IOLoop.current().add_callback(WebSocketeer.send_message, data)
class WebSocketeer(websocket.WebSocketHandler):
def open(self):
print("WebSocket opened")
def on_message(self, message):
print("got message: " + message)
def on_close(self):
print("WebSocket closed")
@classmethod
def send_message(self, message):
print("sending message: " + message)
for session_id, session in self.session.server._sessions._items.iteritems():
session.conn.emit(event, message)
Код, основанный на этих ответах SO