文件可以传输,但是对比传输前后的文件:socket_test.txt,末尾有一些不一致服务端代码:
#!/usr/bin/python # -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf-8") import time ''' 等待连接 等待发送文件 读取数据 写入文件并且保存 等待连接 ''' import socket import threading import time import struct def function(newsock, address): FILEINFO_SIZE = struct.calcsize('128sI') '''定义文件信息(包含文件名和文件大小)大小。128s代表128个char[](文件名),I代表一个integer or long(文件大小)''' while 1: try: fhead = newsock.recv(FILEINFO_SIZE) filename, filesize = struct.unpack('128sI', fhead) '''把接收到的数据库进行解包,按照打包规则128sI''' print "address is: ", address print filename, len(filename), type(filename) print filesize #filename = 'new_'+filename.strip('