我从客户机发送一个.txt文件(约87千字节的大小)到服务器通过TCP用下面的代码(蟒):接收机丢失文件的相同的最后字节丢失经由TCP套接字发送在python
客户:
f = open(filename, 'r')
while 1:
data = f.read(1024)
if not data:
data='*Endoffile*!'
con.send('%1024s' %data)
f.close()
break
else:
con.send('%1024s' %data)
服务器:
f = open(filename,'w')
while 1:
data = c.recv(1045)
if data=='%1024s' %'*Endoffile*!':
f.close()
break
else:
f.write(data)
的问题是,收到的文件始终在同一点上剪切(当我打开它时,它总是停在同一个单词处),比整个文件的大小小了大约1,6千字节。 有没有人有建议做什么?
究竟缺什么?而不是读取和写入文件,在发送端生成一个模式,并在接收端验证模式。另外,你使用的是什么Python版本? –
'1045'从哪里来? – NPE
Python是2.7.x的最后一个版本 – user1969182