一、保证要传输文件的两个电脑在同一个局域网下(即同一个wifi下)。
二、有两部分程序,分为sender和reciever两部分,sender放在要发送的电脑上,reciever放在要接受文件的电脑上。该程序可以实现某个文件内文件数量变化时,将新增的文件实时传输过去。
1、sender部分:
# coding = utf-8
import socket # socket库的用法,详细参考浏览器收藏夹
import os
import sys
import struct # 该库将用户定义的数据类型和文件io关联起来,用二进制模式来写这些数据
import time
def sock_client(file,final):
try:
# socket.SOCK_STREAM 表示指定使用面向连接的TCP协议,socket.AF_INET表示指定使用IPv4协议
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 需要连接的电脑的IP地址和端口,该函数是发送文件,需要输入接收方电脑的ipv4地址,端口可以找一个空闲的,一般大于5000是空闲的
s.connect(('192.168.1.180', 45795))
except socket.error as msg:
print(msg)
print(sys.exit(1)) # sys.exit(1)是当程序异常结束时,返回1。程序正常结束时,返回0.
while True:
# 传输一张EL图片用时12ms
origin=os.listdir(file) # 遍历文件夹,返回文件和文件夹名字
set1=set(origin) # 创建一个无序的元素集
set2=set(final)
filepath_diff=set1^set2