我們需要發送一個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