2017-08-11 64 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中使用'message'標籤。你可以在消息中使用標籤。例如;

On Unity side;

// 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。這樣您將只添加一個字節的數據大小,並將有256個不同的事件類型。 – OsmanSenol