Unity WebGL WebSocket 消息头
Posted
技术标签:
【中文标题】Unity WebGL WebSocket 消息头【英文标题】:Unity WebGL WebSocket Message Head 【发布时间】:2017-08-11 18:13:45 【问题描述】:我已经制作了多人游戏系统。它工作正常。但我想更改消息头(或 - 标记、开销等...)以减少传输的数据。
Node.JS 服务器端有 'message' 标签
wss.on('message',function incoming(message))
...
...
但在 Unity 方面,我无法对方法或变量进行微调。
w = new WebSocket (new Uri (url));
yield return StartCoroutine (w.Connect());
w.SendString ("some_data");
如何设置消息标签。我知道 socket.io 可以做到这一点,但我不想碰巧代码。
【问题讨论】:
【参考方案1】:不幸的是,您只能在 websocket 中使用“消息”标签。您可以在消息中使用标签。例如;
在 Unity 方面;
// add comma between event name and data
w.SendString (string.Format("0,1",eventName,data);
在 js 方面;
wss.on('message',function incoming(message))
// find first comma
var e = message.indexOf(",");
if(e != -1)
console.log("eventName : ",message.substring(0,e)," - data : ", message.substring(e+1,message.length));
【讨论】:
感谢您的回复。但这会增加我的数据使用量。 socket.io 是否有机会获得标头? 实际上我没有使用 socket.io 但我猜它有标签。如果您关心的是数据使用,您可以将数据转换为字节数组并制作第一个字节事件 ID。这样,您只需将一个字节添加到数据大小,就会有 256 种不同的事件类型。以上是关于Unity WebGL WebSocket 消息头的主要内容,如果未能解决你的问题,请参考以下文章
求助!怎么把html嵌入unity所发布的webgl中啊???
尝试将 Agora IO 与 Unity WebGL 集成。构建演示场景时出错