Python Websocket-клиент в очереди - PullRequest
0 голосов
/ 29 января 2019

У меня не так много опыта работы с веб-сокетами, но я получил клиент веб-сокетов для работы.

Однако у меня есть функция, которая вычисляет результат, и результат в момент времени t зависит от результата в момент времени t-1 и нового сообщения.Поэтому мне нужно убедиться, что веб-сокеты обрабатывают информацию в том же порядке, в котором они поступают.Как я могу это реализовать?Websocket-клиент версии 0.48 и python 3.7.

Это фрагмент моего кода:

import websocket
import threading

class MyWebsocket():

    def __init__(self):
        self.endpoint = 'endpoint'
        self.result = {} # start with an empty dict

    def __connect(self):
        '''Connect to the websocket in a thread.'''
        self.ws = websocket.WebSocketApp(self.endpoint,
                                         on_open=self.__on_open,
                                         on_message=self.__on_message)

        self.wst = threading.Thread(target=lambda: self.ws.run_forever())
        self.wst.daemon = True
        self.wst.start()

   def __on_open(self, ws):
       login_str = 'string'
       ws.send(login_str)

   def __on_message(self, ws, message):
       result = foo(message, self.result) # calculate result out of the message and the previous result
       self.result = result # make class result equal to calculated result so that next thread can access it


ws = MyWebsocket()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...