diff options
Diffstat (limited to 'server.py')
-rw-r--r-- | server.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/server.py b/server.py new file mode 100644 index 0000000..9228c7f --- /dev/null +++ b/server.py @@ -0,0 +1,29 @@ +# serever.py +# Fibonacci microservice + +from socket import * +from fib import fib +from threading import Thread + +def fib_server(address): + sock = socket(AF_INET, SOCK_STREAM) + sock.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) + sock.bind(address) + sock.listen(5) + while True: + client, addr = sock.accept() + print("Connection", addr) + Thread(target=fib_handler, args=(client,), daemon=True).start() + +def fib_handler(client): + while True: + req = client.recv(100) + if not req: + break + n = int(req) + result = fib(n) + resp = str(result).encode('ascii') + b'\n' + client.send(resp) + print('Closed') + +fib_server(('', 25000)) |