您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页python:socket传输大文件示例

python:socket传输大文件示例

来源:爱站旅游

本篇文章主要介绍了python:socket传输大文件示例,具有一定的参考价值,有兴趣的可以了解一下,

文件可以传输,但是对比传输前后的文件: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('