加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Comm.py 1011 Bytes
一键复制 编辑 原始数据 按行查看 历史
electronick_pro 提交于 2023-09-18 17:38 . to test
import socket
socket.setdefaulttimeout(1200)
# 测收发、发收文件是否一致
def send_file(path, ip, port):
if "-" in ip:
ip = ip.split('-')[0]
print(f"Sending file to {ip}:{port}")
with open(path, "rb") as fi:
while True:
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, port))
s.sendfile(fi)
break
except ConnectionRefusedError:
pass
finally:
s.close()
def recv_file(path, port):
with open(path, "wb") as fi:
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind(('', port))
s.listen(1)
conn, ip = s.accept()
print(f"Receiving file from {ip}:{port}")
with conn:
while True:
data = conn.recv(4096)
if not data:
break
fi.write(data)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化