summaryrefslogtreecommitdiff
path: root/sockets/chat_server.py
diff options
context:
space:
mode:
Diffstat (limited to 'sockets/chat_server.py')
-rw-r--r--sockets/chat_server.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/sockets/chat_server.py b/sockets/chat_server.py
new file mode 100644
index 0000000..aecf8c9
--- /dev/null
+++ b/sockets/chat_server.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+
+import sys,socket,os
+
+def chat_server(port):
+ whoami = os.getenv("USER")
+ try:
+ s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
+ s.bind(('',port))
+ s.listen()
+ conn,addr = s.accept()
+ print(f"Connexion depuis {addr[0]} sur le port {addr[1]}")
+ while True:
+ data = conn.recv(1024)
+ print(data.decode())
+ reponse = input("moi > ")
+ reponse = whoami+" > "+reponse
+ conn.sendall(reponse.encode().strip())
+ except KeyboardInterrupt:
+ s.close()
+ finally:
+ print("bye")
+
+if __name__ == "__main__":
+ try:
+ chat_server(int(sys.argv[1]))
+ except IndexError:
+ print(f"{sys.argv[0]} demande un numéro de port en argument")
+