3年前推送过一篇使用TCP协议进行局域网内屏幕广播的文章,见

Python实现局域网内屏幕广播的技术要点分析

众所周知,TCP协议尽管有良好的流量控制、拥塞控制等传输质量保证机制,但开销比较大且只能单播。尽管当时的设计中结合了多线程技术,在局域网内机器多的时候仍有一定的延迟,并且教师机压力较大。

本文使用UDP协议重新实现这一功能,虽然UDP协议没有流量控制等QoS保障技术,但能够进行广播,这一点能给教师机减轻大部分压力。虽然确实有丢包的可能,但在局域网内丢包率非常低,视频、音频数据的传输又恰好容错性较好,不需要在应用层实现可靠传输。所以,UDP协议在视频点播类似的场合中有着重要应用和优势。

功能描述:

局域网内屏幕广播与分享。发送端运行程序后每秒中对自己计算机屏幕截图两次,发送给局域网内所有计算机,其他计算机作为接收端接收到数据之后还原为图像并在本地显示。

参考代码:

1)发送端

运行界面:

2)接收端,我故意在代码中删掉了一个语句,设计了一个bug,按照这个代码抄下来运行一会儿屏幕会卡住,重新启动之后就能继续,再过一会儿又会卡住。能够找出这个bug原因并解决的朋友可以在文末留言,第一位成功解决并留言的朋友可以获得董付国老师任意一本图书,时间不限。程序中注释的部分代码有其他用途,可以忽略。

Python使用UDP协议实现局域网内屏幕广播相关推荐

  1. 微课--Python使用UDP协议实现局域网内屏幕广播(40分钟)

    师资培训研修班通知--Python数据采集.分析与可视化实战 开学第一课:一定不要这样问老师Python问题 在线开放课程"Python程序设计基础"第7次开课通知 智慧树大学共享 ...

  2. python 局域网广播_Python实现局域网内屏幕广播的技术要点分析

    原标题:Python实现局域网内屏幕广播的技术要点分析 为更好地保证教学质量和提高学生的学习积极性,我使用Python开发了一套课堂教学管理系统,具有在线点名.在线答疑.随机提问.在线作业管理.在线自 ...

  3. Python实现局域网内屏幕广播的技术要点分析

    为更好地保证教学质量和提高学生的学习积极性,我使用Python开发了一套课堂教学管理系统,具有在线点名.在线答疑.随机提问.在线作业管理.在线自测.在线考试.数据汇总.试卷生成.屏幕广播等功能,教师端 ...

  4. 基于UDP协议的局域网网络聊天工具

    /* * 本程序实现了基于UDP协议的局域网网络聊天工具. * 参考网上的源码,发现一个calss就可以搞定. * ChatFrame类创建窗口,包含JTextField和TextArea. * 前者 ...

  5. 利用SMB协议实现局域网内设备文件的共享

    文章目录 参考资料 说明 步骤1:[windows]开启SMB协议 步骤2:[windows]创建新的用户账号 步骤3:[windows]共享文件夹 属性-共享-共享 属性-共享-高级共享 步骤4:[ ...

  6. [NUAA]Python用UDP协议建立带有私聊功能的网络聊天室-建立聊天工具

    文章目录 前言 1.网络聊天室的基本架构是什么? 1.1 客户端和服务器的架构 1.2 通信协议的选择以及多线程通信 1.2.1 多线程通信 1.2.2 通信协议选择 1.3 前后端功能设计思路 1. ...

  7. java网络编程 UDP通信协议实现局域网内文件的发送和接收

    要实现两台内网下的机子进行通信,首先得知道接收方的内网IP,获取IP的方式:可以打开任务管理器的以太网进行查看: 如下 也可以通过 win+r 输入cmd ,然后输入 ipconfig  回车  进行 ...

  8. Python使用UDP协议打造在线时间服务器

    代码原理:服务端监听特定的端口,如果收到客户端发来的请求就把服务器上的当前时间发给客户端,而客户端收到时间之后立刻打印输出,当然也可以改成做别的事情,例如调整客户端的系统时间. 服务端代码: impo ...

  9. python通过onvif协议搜索局域网所有摄像头ip,并获取摄像头rtsp,mac地址等相关服务

    这里用到camera_discovery模块 pip install camera_discovery from camera_discovery import CameraDiscovery cam ...

最新文章

  1. 罗斯蒙特1056ph电极_ROSEMOUNT 罗斯蒙特 PH电极 0396R-10-2(0396R-10-2)
  2. python元组和列表教程_Python列表和元组
  3. 基于redis分布式锁实现的多线程并发程序
  4. feign调用多个服务_spring cloud各个微服务之间如何相互调用(Feign、Feign带token访问服务接口)...
  5. 超级终端工具_【招商通信余俊团队】智能网联汽车发展提速,科技巨头跑步入场,有望成为新一代超级终端——招商通信周周谈(2020年第48周)...
  6. 系统无法执行指定的程序。_使用Rust编写操作系统(一):独立式可执行程序
  7. 《干货集锦》——前端大牛 Addy Osmani 的15个精彩PPT
  8. Fgui切割图集为散图
  9. html自我介绍5页模板,关于个人自我介绍模板6篇
  10. svn clean up 失败
  11. EBU5502 Database Coursework Specifications
  12. 2018艾耕科技笔试题
  13. NTP 服务的配置和使用
  14. 哪款蓝牙耳机戴着舒服?佩戴舒适度高的四款蓝牙耳机推荐
  15. 抵抗不了“刷礼物”的诱惑,下架的斗鱼要上市有点难
  16. [问题已解决]你申请的名称指向特定地域范围或地理名称,请提供相应资料证明可使用该地域范围或地理名称作为帐号名称
  17. 集群外独立部署Prometheus+Grafana监控K8S全面解析
  18. 锁相环PLL --原理浅析
  19. wince系统改安卓系统_WinCE迁移安卓原来也可以很简单!
  20. 我们的科技创新为何离黑科技如此遥远?

热门文章

  1. phpstudy配置oracle,phpStudy配置sql、oracle---博主摘录
  2. java 基本数据类型 容器_Java 基本数据类型
  3. mac xampp连接mysql数据库_在mac上如何使用终端打开XAMPP自带的MySQL
  4. android github轮播图,GitHub - ZTJzzz/Banner: Android轮播图
  5. oracle查看表空间的内容,学习笔记:Oracle查看object对象 表空间 表 索引 数据文件的使用空间...
  6. 玩转SpringBoot 2 快速搭建 | Spring Initializr 篇
  7. 注解形式控制器 数据验证,类型转换(3)
  8. android pd px sp 转换
  9. Springboot校园二手市场实战开发
  10. 基于JAVA+SSH+MYSQL的工资管理系统