您当前的位置:首页 > 计算机 > 编程开发 > Python

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

时间:01-08来源:作者:点击数:
城东书院 www.cdsy.xyz

之前发布过一篇使用TCP协议进行局域网内屏幕广播的文章,见

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

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

图片

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

图片

功能描述:

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

参考代码:

1)发送端

图片

运行界面:

图片

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

图片

运行界面:

图片

需要软件的朋友可以在公众号后台发送消息“屏幕广播”获取打包好的软件,打包好的软件是完整的,不存在前面说的缺少一条语句造成的bug。

使用方法演示:

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门