diff --git a/client/main.py b/client/main.py index f2df546..76611fa 100644 --- a/client/main.py +++ b/client/main.py @@ -89,7 +89,8 @@ NAME = b"client1" VERSION = b"EICP2P2 V1" REQUEST_TYPE = [ - b'ping', b'pingACK', b'updateAsk', b'updateBack', b'transfer', b'register_client', b'registerACK', b'send', b'sendACK', + b'ping', b'pingACK', b'updateAsk', b'updateBack', b'transfer', b'register_client', b'registerACK', b'send', + b'sendACK', b'exit', b'RSASend', b'init', b'getUsers', b'getUsersACK', ] @@ -108,7 +109,12 @@ class MainThread(threading.Thread): self.rsa = None self.aes_key = None self.clientSocket = None - self.users = {} + self.users = { + # id: rsa + } + self.connected_users = { + # id: (rsa, aes, nick) + } def run(self): rsa = RsaGenThread(self) @@ -124,7 +130,7 @@ class MainThread(threading.Thread): try: type = bytes(input("Type: "), "ascii") contenu = bytes(input("Contenu: "), "ascii") - self.send_aes(self.gen_header(type_=type)+contenu) + self.send_aes(self.gen_header(type_=type) + contenu) print(self.receive_aes()) except Exception as e: print(e) @@ -195,7 +201,9 @@ class MainThread(threading.Thread): header = self.extract_header(back) contenu = back[BUFFER_SIZE:] if header[b"type"] == b"getUsersACK": - self.users = [(contenu.split(b"%!!%")[i], i) for i in range(len(contenu.split(b"%!!%")))] + self.users = {i: contenu.split(b"%!!%")[i] for i in range(len(contenu.split(b"%!!%")))} + + ################################################ COMMUNICATION WITH AES ############################################ def send_aes(self, to_send, key=None): """Send message with aes encryption @@ -229,7 +237,7 @@ class MainThread(threading.Thread): :type key: bytes """ to_decrypt = self.receive() - debug(b"Received in aes "+to_decrypt) + debug(b"Received in aes " + to_decrypt) if key is None: key = self.aes_key if key is None: @@ -304,6 +312,7 @@ class MainThread(threading.Thread): return None + if __name__ == "__main__": client = MainThread(NAME) client.start() diff --git a/server/main.py b/server/main.py index 41854d1..ee8ca46 100644 --- a/server/main.py +++ b/server/main.py @@ -380,7 +380,6 @@ class ClientThread(threading.Thread): return None def send_users(self): - print(self.server.clients.keys()) self.send_aes(self.gen_header(type_=b"getUsersACK")+b"%!!%".join(list(self.server.clients.keys()))) def register_client(self): @@ -433,6 +432,7 @@ class ClientThread(threading.Thread): self.register_client() elif header[b"type"] == b"getUsers": self.send_users() + elif self.client.close()