/
05.py
26 lines (23 loc) · 916 Bytes
/
05.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import diesel, argparse
class EchoServer(object):
def handler(self, remote_addr):
host, port = remote_addr[0], remote_addr[1]
print('Echo client connected from: %s:%d' % (host, port))
while True:
try:
message = diesel.until_eol()
your_message = ': '.join(['You said', message])
diesel.send(your_message)
except Exception as e:
print('Exception:', e)
def main(server_port):
app = diesel.Application()
server = EchoServer()
app.add_service(diesel.Service(server.handler, server_port))
app.run()
if __name__ == '__main__':
parser = argparse.ArgumentParser(description = 'Echo server example with Diesel')
parser.add_argument('--port', action = 'store', dest = 'port', type = int, required = True)
given_args = parser.parse_args()
port = given_args.port
main(port)