Я пытаюсь отправить сообщение с клиента на сервер, но сервер ничего не получает. Сервер может отправлять сообщения клиенту должным образом, но клиент не может отправлять сообщения.
Я уже пытался использовать str () и изменить размер блока заполнения. На данный момент я пытаюсь что-нибудь исправить, прежде чем я потеряю все свои волосы.
Моя клиентская программа ...
# Client receives a message and send it to the client
encryptedNameQ = clientSocket.recv(2048)
padNameQ = cipher.decrypt(encryptedNameQ)
nameQ = unpad(padNameQ, 16).decode("ascii")
#print(nameQ) this works and prints the correct thing
# Client send name to the server
nameA = input(nameQ + "\n\nAnswer: ")
name = cipher.encrypt(pad(nameA.encode("ascii"), 16))
print(name) # This works and the message is encrypted
clientSocket.send(name)
...
Моя серверная программа ...
# Server send encypted message to the client
welcomeMsg = cipher.encrypt(pad("Welcome to examination System\nWhat is your name? ".encode("ascii"), 16))
#print(welcomeMsg)
connectionSocket.send(welcomeMsg)
# Server receives client message, decodes it
nameMsg = connectionSocket.recv(2048) #not getting anything
print("Encrypted message recived: " + nameMsg)
padName = cipher.decrypt(nameMsg)
# Unpad message
name = unpad(padName, 16).decode("ascii")
print("Decrypted message recived: " + name)
...
Приветственное сообщение отправляется сервером и принимается клиентом должным образом, но имя не отправляется сервером, и я не знаю, почему. Он не печатает ни одной строки в программе сервера, но в клиентской программе печатается заполненное имя. Код в основном идентичен, поэтому я не знаю, что происходит не так.