Untitled

 avatar
unknown
plain_text
20 days ago
1.2 kB
4
Indexable
import socket


class Server:
    def __init__(self):
        self.__socket = socket.socket(type=socket.SOCK_DGRAM)
        self.__socket.bind(("localhost", 80))
        self.__pseudos = {}

    def run(self):
        while True:
            try:
                message = self.__socket.recvfrom(1024)
                print(message)
            except socket.timeout:
                continue
            sender_address = message[1]
            msg_splited = message[0].decode().split(" ")
            if len(msg_splited) < 2:
                print("Unrecognised message :" + msg_splited)
            pseudo = msg_splited[1]
            if msg_splited[0] == "Add":
                self.__pseudos[pseudo] = sender_address
            elif msg_splited[0] == "Get":
                if pseudo not in self.__pseudos:
                    print("Unrecognised pseudo"+msg_splited[0])
                self.__socket.sendto(
                    str(self.__pseudos[pseudo][0] + "," + str(self.__pseudos[pseudo][1])).encode(), sender_address)
            else:
                print("Unrecognised command"+msg_splited[0])


if __name__ == "__main__":
    server = Server()
    server.run()
Editor is loading...
Leave a Comment