我们需要发送一个PDF文件通过TCP服务器字符串格式如下:在字符串发送通过TCP服务器上的文件
命令数日期大小文件
在服务器中,我们正在做的:
l = f.read()
f.close()
user.sendall(("AQT " + "12345678 " + "16SET2015_12:00:00 " + str(size) + " " + l).encode('utf-8')
我们的客户是这样的:
quiz = s.recv(buff_size)
quiz_aux = quiz
while(quiz_aux):
quiz_aux = s.recv(buff_size)
quiz += quiz_aux
quiz = quiz.decode('utf-8')
response = quiz.split(" ", 4)
if response[0] == 'AQT':
QID = eval(response[1])
time = response[2]
size = eval(response[3])
file_name = topic + "QF" + "001" + ".pdf"
f = open(file_name, "w")
f.write(response[4])
f.close()
print("received file " + file_name)
我们似乎无法得到正确的编码,不管我们尝试它不工作,它也似乎不接收整个文件。
如果有人能够帮助我们,我们会非常感激。
有多大的文件? 'buff_size'有多大? – cg909
@ cg909现在我们正在测试60kb或更少的文件。将来,我们将会传输大约1/2mb的文件。 buff_size是1024 – Hel