码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python socket网络编程(传输一个图片数据)


    服务端

    1. import base64
    2. import socket
    3. import numpy as np
    4. import cv2
    5. import datetime
    6. import os
    7. ss=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    8. ss.bind(("192.168.1.65",5)) #服务器绑定ip
    9. ss.listen(5) #开始监听
    10. tcp1,add=ss.accept() #阻塞进程,等待客户端连接
    11. print('tcp1',tcp1)
    12. print('客户端连接成功,客户端IP地址',add)
    13. data = tcp1.recv(10240000000) #设置这么大是为了完整接受一个图像的字节串
    14. print(type(data))
    15. data = str(data, encoding='utf-8')
    16. data = base64.b64decode(data.encode('utf-8'))
    17. data = np.frombuffer(data, np.uint8)
    18. image = cv2.imdecode(data, cv2.IMREAD_COLOR)
    19. file_name = datetime.datetime.now().strftime('%Y%m%H%M%S') + '.jpg'
    20. print(file_name)
    21. cv2.imwrite(file_name, image)
    22. # print('data',data)
    23. tcp1.send('收到了'.encode('utf-8'))

    客户端

    1. import glob
    2. import socket
    3. import cv2
    4. import base64
    5. import time
    6. cs=socket.socket()
    7. cs.connect(('192.168.1.65',5))
    8. image = cv2.imread('output/202310000729.jpg')
    9. data = cv2.imencode('.bmp', image)[1] #图像压缩,变成一维数组
    10. hh=base64.b64encode(bytes(data))
    11. data = base64.b64encode(bytes(data)).decode('utf-8') #base64接受的是字节串的,decode将字节串转换位字符串
    12. cs.sendall(data.encode('utf-8')) #发送数据
    13. data1 = cs.recv(1024) #接受1024个字节的数据,超过1024个字节数据则接受不到
    14. data1 = str(data1, encoding='utf-8') #将字节数据转换为字符串
    15. print(data1)

    参考:

    python网络编程(基于socket编程) - 知乎 (zhihu.com)

  • 相关阅读:
    小白必看:如何查询微信账号权重?
    python lambda表达式的用法
    【Vue 组件化开发 二 】注册组件的语法糖、组件模板的分离写法、组件的数据
    MySQL——执行一条select语句期间发生了什么
    SpringMVC基本配置
    哈喽GPT-4o——对GPT-4o 提示词的思考与看法
    物联网AI MicroPython传感器学习 之 HX711称重传感器
    【Git】Git分布式版本控制工具
    android:运用MVVM框架包名一定不能大写
    解决Springboot项目打成jar包后获取resources目录下的文件报错的问题
  • 原文地址:https://blog.csdn.net/qq_40107571/article/details/134023173
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号