疑问
1. 发送图片是以什么格式
2. 字节数据怎么保存到本地
3. 怎么对传输不同设备发送的图片进行分类存储
4. udp实现
解答
import os import sys import json import time import threading import socket class UdpImageSender: def __init__(self, server_address=('127.0.0.1', 9999), image_dir='./images'): self.server_address = server_address self.image_dir = image_dir self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) def send_image(self, image_path): with open(image_path, 'rb') as f: data = f.read() self.sock.sendto(data, self.server_address) def run(self): while True: for root, dirs, files in os.walk(self.image_dir): for filename in files: if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'): image_path = os.path.join(root, filename) self.send_image(image_path) time.sleep(0.1) if __name__ == '__main__': sender = UdpImageSender() sender.run()
import socket server_address = ('127.0.0.1', 9999) buf_size = 1024 * 64 # 64KB sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind(server_address) while True: data, address = sock.recvfrom(buf_size) with open(f'image_{time.time()}.jpg', 'wb') as f: f.write(data)
这个服务端会将接收到的图片保存到本地磁盘,并以当前时间戳作为文件名。在实际应用中,需要根据具体需求修改代码。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!