Unity WebGL WebSocket 消息头
Unity WebGL WebSocket Message Head
多人系统我已经做好了。它工作正常。但我想更改消息头(或 - 标签、开销等...)以减少传输的数据。
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 可以做到这一点,但我不想碰碰运气。
不幸的是,您只能在 websocket 中使用 'message' 标签。您可以在消息中使用标签。例如;
在 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));
}
}
多人系统我已经做好了。它工作正常。但我想更改消息头(或 - 标签、开销等...)以减少传输的数据。
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 可以做到这一点,但我不想碰碰运气。
不幸的是,您只能在 websocket 中使用 'message' 标签。您可以在消息中使用标签。例如;
在 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));
}
}