class WSocket: def __init__(self): pass def connect(self, url, host, port): try: import asyncio except ImportError: # Trollius >= 0.3 was renamed import trollius as asyncio proto = [ "camctrl-protobuf/1.0" ] self.loop = asyncio.new_event_loop() self.factory = WebSocketClientFactory(url, protocols=proto, loop=self.loop) self.factory.protocol = SocketProtocol self.factory.setProtocolOptions(autoPingInterval=5, autoPingTimeout=5) #self.loop = asyncio.get_event_loop() coro = self.loop.create_connection(self.factory, host, port) self.loop.run_until_complete(coro) self.thread = threading.Thread(target=self._poll, name="Poll Camera") self.thread.daemon = True self.thread.start() def _poll(self): self.loop.run_forever() def stop(self): self.loop.close() def sendRequest(self, message): self.factory.protocol().sendMessage(message, isBinary=True)
def run_agent(ids, interval): ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE numb = np.random.randint(0, 1000) server_num = np.random.randint(0, 200) randstr = str(uuid.uuid1())[:8] url = f"wss://stream{server_num}.forexpros.com/echo/{numb}/{randstr}/websocket" host = f"stream{server_num}.forexpros.com" factory = WebSocketClientFactory(url) factory.setProtocolOptions(autoPingInterval=1) factory.protocol = BaselineExecAgent.make_subids(ids).set_timeout(interval) return factory, host, 445, ctx
def testing_main(): import asyncio import ssl ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE numb = np.random.randint(0, 1000) server_num = np.random.randint(0, 200) randstr = str(uuid.uuid1())[:8] url = f"wss://stream{server_num}.forexpros.com/echo/{numb}/{randstr}/websocket" host = f"stream{server_num}.forexpros.com" factory = WebSocketClientFactory(url) factory.setProtocolOptions(autoPingInterval=5) factory.protocol = InvestingdotcomProtocol.make_subids([1, 2]) loop = asyncio.get_event_loop() # {"cert_reqs": ssl.CERT_NONE}) coro = loop.create_connection(factory, host, 443, ssl=ctx) loop.run_until_complete(coro) loop.run_forever()
def listen_for_events(callback): try: while True: print("Attempting to open websocket connection") factory = WebSocketClientFactory(u"wss://certstream.calidog.io") factory.setProtocolOptions(openHandshakeTimeout=10, tcpNoDelay=True) factory.protocol = MyClientProtocol factory.callback = callback ssl_context = ssl.create_default_context(ssl.Purpose.SERVER_AUTH) ssl_context.check_hostname = True loop = asyncio.get_event_loop() coro = loop.create_connection(factory, 'certstream.calidog.io', 443, ssl=ssl_context) loop.run_until_complete(coro) loop.run_forever() except KeyboardInterrupt: loop.stop() loop.close()
text=str(random.randint(36, 38))) if randNum2 == 1: self.heartrate1.configure(text=str(random.randint(60, 63))) except Exception as e: print e self.window.update() if __name__ == '__main__': root = logging.getLogger() root.setLevel(logging.DEBUG) ch = logging.StreamHandler(sys.stdout) ch.setLevel(logging.DEBUG) root.addHandler(ch) factory = WebSocketClientFactory(u"ws://127.0.0.1:8888/get") proto = MyClientProtocol factory.protocol = proto factory.setProtocolOptions(autoPingInterval=10, autoPingTimeout=60, openHandshakeTimeout=30) loop = asyncio.get_event_loop() coro = loop.create_connection(factory, '127.0.0.1', 8888) loop.run_until_complete(coro) loop.run_forever()