MR开发高级教程
课时介绍
在处理完接收数据后,我们需要处理发送数据。处理中心会处理客户端发送的数据,然后我们可能需要返回一些数据给客户端。这时候,我们需要使用EBU协议来发送数据,因此需要定义一个EBU发送队列来重复使用EBU对象。这是客户端的接收端,需要在初始化时进行实例化
同样,当我们发送数据时,需要定义一个缓冲区来存储数据,然后一个一个进行发送。发送数据时,我们会使用名为“send”的方法,传入要发送的数据给客户端。在发送数据时,我们先将数据加入到发送数据的缓冲区队列中,然后需处理发送Handler。
在发送之前,需要判断是否正在发送。如果是,则调用Handler方法,否则直接进行发送。在发送之前还需要判断Socket是否为空,如果为空,则直接返回。处理数据发送时,需要给数据缓冲区加一个Sort来保障数据安全。
我们需要从Socket的源和Send队列中取出未发送的对象,但初始化时没有添加这个队列,所以需要添加一个方法来获取。首先需要判断是否为空,如果为空,则返回。在发送之前,还需要检查缓冲区大小是否为零,如果为零说明已经没有需要发送的数据了,则直接返回。然后设置Ace Sending等于Post。如果发送区已经有数据,我们就取出一个未发送的对象,然后判断它是否为空。如果为空,则返回。需要定义一个未发送对象的最大数值,超过这个数值之后,我们必须等待所有发送的对象已经完成,并且加入到对象池中,然后再进行重复利用。
最后,我们从发送缓冲区中取出对象并判断数据是否为空。如果数据为空,则不发送。然后,我们使用Send方法将数据缓存到未发送对象的Buffer中,偏移量为0,长度为Data的Length。Send方法也有一个返回值,用于判断是否全部发送完成。如果没有全部发送,则需要进行处理。我们需要定义一个结果变量来存储这个结果。
课程介绍
MR开发高级教程,功能包括通用TCP网络模块,资源动态更新,MRTK,HoloLens交互共享、AR设备校准共享、第三视角、HoloLens第一视角视频编解码等~
推荐课程
信息系统项目管理师自考笔记
李明 · 513人在学
python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据
王先生 · 20608人在学
手把手搭建Java超市管理系统【附源码】(毕设)
汤小洋 · 4050人在学
Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教
黄菊华 · 732人在学
基于SSM酒店管理系统(毕设)
小尼老师 · 786人在学
java项目实战之购物商城(java毕业设计)
Long · 5073人在学
手把手搭建Java求职招聘系统【附源码】(毕设)
汤小洋 · 1459人在学
Python Django 深度学习 小程序
钟翔 · 2235人在学
城管局门前三包管理系统+微信小程序(vue+springboot)
赖国荣 · 497人在学
Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序
李杰 · 3843人在学