In [1]:
import asyncio

In [2]:
import nexstarevo as nse

In [3]:
nse.detect_scope()


Out[3]:
('10.111.1.13', 2000)

In [6]:
class NSEScope(asyncio.Protocol):
    def __init__(self, loop):
        self.loop = loop
        self.message = '*HELLO*'

    def connection_made(self, transport):
        transport.write(self.message.encode())
        print('Data sent: {!r}'.format(self.message))

    def data_received(self, data):
        print('Data received: {!r}'.format(data.decode()))
        self.transport.close()

    def connection_lost(self, exc):
        print('The server closed the connection')
        print('Stop the event loop')
        self.loop.stop()

In [7]:
loop = asyncio.get_event_loop()
message = 'Hello World!'
coro = loop.create_connection(lambda: NSEScope(loop),
                              '10.111.1.13', 2000)
loop.run_until_complete(coro)
loop.run_forever()


Data sent: '*HELLO*'
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-7-688d9bc0330a> in <module>()
      4                               '10.111.1.13', 2000)
      5 loop.run_until_complete(coro)
----> 6 loop.run_forever()

/home/jochym/miniconda/envs/p3/lib/python3.5/asyncio/base_events.py in run_forever(self)
    419             events._set_running_loop(self)
    420             while True:
--> 421                 self._run_once()
    422                 if self._stopping:
    423                     break

/home/jochym/miniconda/envs/p3/lib/python3.5/asyncio/base_events.py in _run_once(self)
   1386                            timeout * 1e3, dt * 1e3)
   1387         else:
-> 1388             event_list = self._selector.select(timeout)
   1389         self._process_events(event_list)
   1390 

/home/jochym/miniconda/envs/p3/lib/python3.5/selectors.py in select(self, timeout)
    443             ready = []
    444             try:
--> 445                 fd_event_list = self._epoll.poll(timeout, max_ev)
    446             except InterruptedError:
    447                 return ready

KeyboardInterrupt: 

In [8]:
detect_scope()


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-8-cf013f8a4f53> in <module>()
----> 1 detect_scope()

NameError: name 'detect_scope' is not defined

In [5]:
loop = asyncio.get_event_loop()
detector=DetectScope(loop)
connect = loop.create_datagram_endpoint(lambda: detector, local_addr=('0.0.0.0', 55555))
transport, protocol = loop.run_until_complete(connect)
loop.run_forever()
transport.close()


Looking for scope ...
Got signature from the scope at: 10.111.1.13

In [ ]:
scope=nse.NSEScope(addr='127.0.0.1')
asyncore.loop(count=100)
scope.close()

In [4]:
scope.close()

In [ ]:
loop = asyncio.get_event_loop()
listen = loop.create_datagram_endpoint(look_for_scope, local_addr=('0.0.0.0', 55555))
transport, protocol = loop.run_until_complete(listen)
try :
    loop.run_forever()
except KeyboardInterrupt :
    pass
transport.close()
loop.close()
print('Controller shuting down')