Skip to content
Snippets Groups Projects
Commit ffb76bf0 authored by KERDREUX Jerome's avatar KERDREUX Jerome
Browse files

Cleanup

parent 8381cc87
Branches
No related tags found
No related merge requests found
......@@ -3,24 +3,25 @@ import socket
import struct
from xaal.lib import MessageFactory,config,helpers
from xaal.lib import MessageFactory, config, helpers
ADDR = config.address
PORT = config.port
ADDR = '224.0.29.200'
PORT = 1236
class EchoServerProtocol(asyncio.Protocol):
def __init__(self,on_con_lost):
def __init__(self, on_con_lost):
self.on_con_lost = on_con_lost
self.mf = MessageFactory(config.key)
helpers.setup_console_logger()
def connection_made(self, transport):
#import pdb;pdb.set_trace()
# import pdb;pdb.set_trace()
sock = transport.get_extra_info('socket')
(addr,port) = sock.getsockname()
mreq = struct.pack('4sl',socket.inet_aton(addr),socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP,socket.IP_ADD_MEMBERSHIP,mreq)
sock.setsockopt(socket.IPPROTO_IP,socket.IP_MULTICAST_TTL,10)
(addr, port) = sock.getsockname()
mreq = struct.pack('4sl', socket.inet_aton(addr), socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 10)
self.transport = transport
def error_received(self, exc):
......@@ -29,17 +30,15 @@ class EchoServerProtocol(asyncio.Protocol):
def connection_lost(self, exc):
print("Connection closed")
self.on_con_lost.set_result(True)
def datagram_send(self,data):
self.transport.sendto(data,(ADDR,PORT))
def datagram_send(self, data):
self.transport.sendto(data, (ADDR, PORT))
def datagram_received(self, data, addr):
#print('Received %r from %s' % (data, addr))
# print('Received %r from %s' % (data, addr))
msg = self.mf.decode_msg(data)
msg.dump()
def connection_lost(self, exc):
print(f"Connexion lost {exc}")
if msg:
msg.dump()
async def main():
......@@ -47,15 +46,17 @@ async def main():
print("Starting UDP server")
on_con_lost = loop.create_future()
transport, protocol = await loop.create_datagram_endpoint( lambda: EchoServerProtocol(on_con_lost), local_addr=(ADDR, PORT),reuse_port=True)
transport, protocol = await loop.create_datagram_endpoint(
lambda: EchoServerProtocol(on_con_lost), local_addr=(ADDR, PORT), reuse_port=True
)
try:
await asyncio.sleep(3600) # Serve for 1 hour.
finally:
transport.close()
try:
asyncio.run(main())
except KeyboardInterrupt:
print("Bye Bye")
\ No newline at end of file
print("Bye Bye")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment