Im Folgenden ist der Code, den die Eingabe von einem Benutzer unter Verwendung von Buchsen zugeführt zu modifizieren versucht:Typeerror: ein Byte-ähnliches Objekt erforderlich ist, nicht ‚str‘
from socket import *
serverName = '127.0.0.1'
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_DGRAM)
message = input('Input lowercase sentence:')
clientSocket.sendto(message,(serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print (modifiedMessage)
clientSocket.close()
Als ich es ausführen und liefern Eingang der folgende Fehler tritt auf:
Input lowercase sentence:fdsgfdf
Traceback (most recent call last):
File "C:\srinath files\NETWORKS\UDPclient.py", line 6, in <module>
clientSocket.sendto(message,(serverName, serverPort))
TypeError: a bytes-like object is required, not 'str'
Was kann ich tun, um dies zu lösen?
Das erste Argument ('message') muss Bytes sein, aber Sie übergeben eine Zeichenfolge. Sie sollten es verschlüsseln, bevor Sie z. "Nachricht.kodieren ('utf-8') ' – mgilson
aber die Sache ist ich brauche nicht – sri
aus der Steckdose Import Bytestring an den Server zu übergeben * servername = 'hostname' serverport = 12000 Clientsocket = socket (AF_INET, SOCK_DGRAM) Nachricht = input ('Eingabe in Kleinbuchstaben:') message.encode ('utf-8') clientSocket.sendto (Nachricht, (serverName, serverPort)) modifiedMessage, serverAddress = clientSocket.recvfrom (2048) drucken (geänderteMeldung) clientSocket.close() – sri