疑问

  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)
复制代码

这个服务端会将接收到的图片保存到本地磁盘,并以当前时间戳作为文件名。在实际应用中,需要根据具体需求修改代码。

 

 

 

    

 

posted on   黑逍逍  阅读(349)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!



点击右上角即可分享
微信分享提示