2017-08-11 16 views
1

私はすでにマルチプレイヤーシステムを作っています。それは正常に動作しています。しかし、私はメッセージの頭(またはタグ、オーバーヘッドなど)を送信されたデータを減らすように変更したい。Unity WebGL WebSocketメッセージヘッド

のNode.jsサーバ側は「メッセージ」タグ

wss.on('message',function incoming(message)){ 
... 
... 
} 

が、私は細かいメソッドや変数ではありませんでしユニティ側にしています。

w = new WebSocket (new Uri (url)); 
yield return StartCoroutine (w.Connect()); 
w.SendString ("some_data"); 

どのようにメッセージタグを設定できますか。私はsocket.ioがそれを行うことができますが、私はチャンスコードにしたくないことを知っています。

答えて

0

残念ながら、あなたはWebSocketの中で唯一の「メッセージ」タグを使用することができます。あなたはメッセージの中でタグを使うことができます。例えば;

ユニティ側では、

// 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)); 
    } 
} 
+0

感謝。しかし、これは私のデータ使用量を増加させます。 socket.ioはヘッダーのチャンスですか? –

+0

実際に私はsocket.ioを使っていませんでしたが、タグがあると思います。あなたの懸念事項がデータ使用であれば、データをバイト配列に変換し、最初のバイトのイベントIDを作ることができます。この方法では、データサイズに1バイトしか追加せず、256種類のイベントタイプが存在します。 – OsmanSenol