我正在尝试编写一个读取.pdf文件并将数据发送到客户端服务器的服务器。
这是我的服务器程序的一部分。
while True: # infinite loop to connect to a client
client, address = server.accept()
data = copyfile(path)
data = str(data)
client.send(data.encode('utf-8'))
client.close()
以下是我的客户端源代码的剪辑:
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# assume my host and ports are correct
client.connect((host, port))
data = client.recv(1024)
s = data.decode('utf-8')
print s
client.close()
以下是我要解决的错误:
client.send(message.encode( 'UTF-8'))
UnicodeDecodeError:'ascii'编解码器无法解码位置10中的字节0xe2:序数不在范围内(128)
答案 0 :(得分:0)
只发送直接字节。
#client.py
x = open('out.pdf','wb')
while 1:
data =''
data = s.recv(1024)
if data == b'': break
x.write(data)
x.close()
服务器代码:
#server.py
x=open("test.pdf","rb")
client, address = s.accept()
while 1:
data = x.read(1024)
if data == b'':
print("finished")
x.close()
client.close()
break
client.send(data)