python类WebSocketException()的实例源码

test_websocket.py 文件源码 项目:smileybot 作者: sillylyn 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def testReadHeader(self):
        status, header = read_headers(HeaderSockMock("data/header01.txt"))
        self.assertEqual(status, 101)
        self.assertEqual(header["connection"], "upgrade")

        HeaderSockMock("data/header02.txt")
        self.assertRaises(ws.WebSocketException, read_headers, HeaderSockMock("data/header02.txt"))
websocket.py 文件源码 项目:python-decent 作者: aaroncox 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def run_forever(self):
        """ This method is used to run the websocket app continuously.
            It will execute callbacks as defined and try to stay
            connected with the provided APIs
        """
        cnt = 0
        while True:
            cnt += 1
            self.url = next(self.urls)
            log.debug("Trying to connect to node %s" % self.url)
            try:
                # websocket.enableTrace(True)
                self.ws = websocket.WebSocketApp(
                    self.url,
                    on_message=self.on_message,
                    # on_data=self.on_message,
                    on_error=self.on_error,
                    on_close=self.on_close,
                    on_open=self.on_open
                )
                self.ws.run_forever()
            except websocket.WebSocketException as exc:
                if (self.num_retries >= 0 and cnt > self.num_retries):
                    raise NumRetriesReached()

                sleeptime = (cnt - 1) * 2 if cnt < 10 else 10
                if sleeptime:
                    log.warning(
                        "Lost connection to node during wsconnect(): %s (%d/%d) "
                        % (self.url, cnt, self.num_retries) +
                        "Retrying in %d seconds" % sleeptime
                    )
                    time.sleep(sleeptime)

            except KeyboardInterrupt:
                self.ws.keep_running = False
                raise

            except Exception as e:
                log.critical("{}\n\n{}".format(str(e), traceback.format_exc()))
test_websocket.py 文件源码 项目:bitcoinelasticsearch 作者: currentsea 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def testReadHeader(self):
        status, header = read_headers(HeaderSockMock("data/header01.txt"))
        self.assertEqual(status, 101)
        self.assertEqual(header["connection"], "upgrade")

        HeaderSockMock("data/header02.txt")
        self.assertRaises(ws.WebSocketException, read_headers, HeaderSockMock("data/header02.txt"))
test_websocket.py 文件源码 项目:bitcoinelasticsearch 作者: currentsea 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def testRecvContFragmentation(self):
        sock = ws.WebSocket()
        s = sock.sock = SockMock()
        # OPCODE=CONT, FIN=1, MSG="the soul of wit"
        s.add_packet(six.b("\x80\x8fabcd\x15\n\x06D\x12\r\x16\x08A\r\x05D\x16\x0b\x17"))
        self.assertRaises(ws.WebSocketException, sock.recv)
test_websocket.py 文件源码 项目:bitcoinelasticsearch 作者: currentsea 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def testReadHeader(self):
        status, header = read_headers(HeaderSockMock("data/header01.txt"))
        self.assertEqual(status, 101)
        self.assertEqual(header["connection"], "upgrade")

        HeaderSockMock("data/header02.txt")
        self.assertRaises(ws.WebSocketException, read_headers, HeaderSockMock("data/header02.txt"))
test_websocket.py 文件源码 项目:bitcoinelasticsearch 作者: currentsea 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def testReadHeader(self):
        status, header = read_headers(HeaderSockMock("data/header01.txt"))
        self.assertEqual(status, 101)
        self.assertEqual(header["connection"], "upgrade")

        HeaderSockMock("data/header02.txt")
        self.assertRaises(ws.WebSocketException, read_headers, HeaderSockMock("data/header02.txt"))
test_websocket.py 文件源码 项目:bitcoinelasticsearch 作者: currentsea 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def testRecvContFragmentation(self):
        sock = ws.WebSocket()
        s = sock.sock = SockMock()
        # OPCODE=CONT, FIN=1, MSG="the soul of wit"
        s.add_packet(six.b("\x80\x8fabcd\x15\n\x06D\x12\r\x16\x08A\r\x05D\x16\x0b\x17"))
        self.assertRaises(ws.WebSocketException, sock.recv)
test_websocket.py 文件源码 项目:deb-python-websocket-client 作者: openstack 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def testReadHeader(self):
        status, header = read_headers(HeaderSockMock("data/header01.txt"))
        self.assertEqual(status, 101)
        self.assertEqual(header["connection"], "upgrade")

        HeaderSockMock("data/header02.txt")
        self.assertRaises(ws.WebSocketException, read_headers, HeaderSockMock("data/header02.txt"))
test_websocket.py 文件源码 项目:deb-python-websocket-client 作者: openstack 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def testRecvContFragmentation(self):
        sock = ws.WebSocket()
        s = sock.sock = SockMock()
        # OPCODE=CONT, FIN=1, MSG="the soul of wit"
        s.add_packet(six.b("\x80\x8fabcd\x15\n\x06D\x12\r\x16\x08A\r\x05D\x16\x0b\x17"))
        self.assertRaises(ws.WebSocketException, sock.recv)
tab.py 文件源码 项目:webfriend 作者: ghetzel 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def receive_messages(self, controlq):
        self._trigger_worker = Thread(target=self.trigger_worker)
        self._trigger_worker.start()

        while True:
            try:
                try:
                    if controlq.get_nowait() is StopIteration:
                        raise
                except Empty:
                    pass

                message = self.receive()

                if message is None:
                    continue

                # print(json.dumps(message, indent=4))

                if isinstance(message, Exception):
                    self.dispatch_reply(message.id, message, [])

                elif 'id' in message:
                    self.dispatch_reply(message['id'], message, [])

                else:
                    self.dispatch_event(message)

            except (KeyboardInterrupt, StopIteration, websocket.WebSocketException) as e:
                logging.debug('Fatal receive message: {}'.format(e))
                break

        self.dispatch_event(StopIteration)
        logging.info('Stopping receive thread')


问题


面经


文章

微信
公众号

扫码关注公众号