将tcp/IP点对点长连接改为udp广播开发记录

本文记录了将tcp/IP点对点长连接改为udp广播的开发过程,原因是减轻服务器压力。分析了广播、组播、单播的适用场景,最终选择了单播形式。同步问题上,考虑到控制器处理时间和服务器发送时间,提出了同步策略,包括控制器时间校对和数据包中加入刷新时间信息,以确保画面同步。数据包格式设计为可扩展,支持局部刷新等高级功能,以优化控制器之间的同步问题。
摘要由CSDN通过智能技术生成

将tcp/IP点对点长连接改为udp广播,修改原因:tcp/IP长连接会对本地服务器带来压力

udp广播分为广播、组播、单播。

 

现在分析采用何种通信方式

控制没有采用指定的协议方式,比如http协议,仅是发送数据包所以接受到数据后都会做解析包处理。如果采用广播的形式,势必得在包中指定设备编号,控制器会一直处理接收的数据,所以这种方式舍弃。

控制器中没有业务上的不一样,所以也不采用组播的形式

最后只能采用单播的形式,指定IP指定端口,这样控制器处理的数据比较少,而且也不用在数据包中对控制器进行编号。本地服务器只需轮训指定IP指定端口发送即可

所以采用udp的单播方式

 

同步问题

由于应用场合问题,得考虑画面是否同步的原因,影响同步的因素有以下几方面:

1、控制器从接收到数据到处理显示出来所用时间   

        里面有个10ms的延时,这个延时是否可以减短有待考究。预计本部分时间20ms最多了

2、服务器轮寻发送数据包的时间

       这个时间没有了解过,不过对于电脑来说,10ms也是最长时间了。

所以加起来也就30ms的延时,要求刷新率为30帧的话,已经足够了。

 

 

同步分为两种同步,

1、相邻控制器之间的时间差 

      从上面分析的,这部分顶多不到1ms,所以不用考虑

2、首尾之间的时间差

    从上面考虑,这个时间是量的问题,每个控制器从接收到数据到驱动显示,几乎时间相差不大,本地服务器轮询发送数据包时间估计不到1ms

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值