Example #1
0
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)
Example #2
0
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
Example #3
0
    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()
Example #4
0
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()
Example #5
0
                        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()