UnityRenderStreaming 网页端发送的数据包详解

虽说是详解,但是我也是在使用阶段,把我了解的分享一下,可能并不全面,但是有效!!!
下面都是干货 有js基础的童鞋不要笑我,毕竟本人JS方面不是强项


前言

据我了解,自带的网页是通过JS动态加载的,index.html中并没有东西

重点:两个脚本app.js以及register-events.js

一、app.js 网页元素动态加载

位于webapp\public\scripts
如果是有js基础的朋友 应该很容易看懂

首先:从上往下看,有一个方法比较明显:这里就可以看出网页先加载出一个播放按钮,点击播放按钮的图片会触发onClickButton方法
在这里插入图片描述
接着往下看 就找到了按钮生成的代码
在这里插入图片描述
注意的是sendClickEvent(videoPlayer,1);这句话
123分别对应的是Unity里renderStreaming中添加的三个事件
在这里插入图片描述
可以猜测出sendClickEvent(videoPlayer,1)中的1就是传入Unity中的Data
那么接着找sendClickEvent()这个函数的位置在哪
在这里插入图片描述
from “./register-events.js”;

二、register-events.js 数据打包发送

直接搜索sendClickEvent 在最后一段代码

export function sendClickEvent(videoPlayer, elementId) {
    let data = new DataView(new ArrayBuffer(3));
    data.setUint8(0, InputEvent.ButtonClick);
    data.setInt16(1, elementId, true);
    videoPlayer && videoPlayer.sendMsg(data.buffer);
}

打包方式很简单,DataView()内嵌ArrayBuffer字节流
首先我其实也不知道DataView是啥 百度一下
噢 原来是为了解决不同平台字节序的一个东西,那就先不管。

Arraybuffer(3)//说明这是一个数组
data.setUint8(0, InputEvent.ButtonClick);//数组第0位是1个字节

ButtonClick在上面出现过,类似于C#的枚举类型,为4
在这里插入图片描述
data.setInt16(1, elementId, true);//数组第1位为2个字节,elementId为按钮传来的数字

总结

按钮发送的数据包有以下内容
[单击按钮事件的代码(4),触发的事件代码(1、2、3)]

到这里,数据打包就结束了

如果你只需要按钮能传输数字 了解上面这些就可以自定义的修改了
,但如果你想传输字符串,可以看我下一章!!

如果还有其他问题可以在评论区留言

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值