summaryrefslogtreecommitdiff
path: root/sockets/chat_server.py
blob: aecf8c9a8167621d78ab1b4826f7da0b3cb8b9ee (plain)
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
27
28
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")