import socket
my_socket=socket.socket()
my_socket.connect(('127.0.0.1',8820))
my_socket.send('Hadar')
data=my_socket.recv(1024)
print ('The server sent: '+data)
my_socket.close()
它说:TypeError: a bytes-like object is required, not 'str'
当我在此行之前添加“ b”时:
my_socket.send(b'Haddar')
上面写着"TypeError: must be str, not bytes"
而且我确实希望字符串类型的输出写为“ Hello :(服务器发送的内容)Hadar(客户端发送的内容)
答案 0 :(得分:0)
在发送之前,您必须在utf-8
中对字符串进行编码。
发送时只需调用"random_string".encode()
方法,接收时只需调用.decode()
。
更多信息,https://docs.python.org/3/library/socket.html#socket.socket.send
这必须工作:
my_socket.send('Hadar'.encode())
...
print ('The server sent: '+data.decode())