1.cocos本身在cpp框架中是提供了ws的
2.cocosjs版本在web上必然也是提供了ws的
3.網(wǎng)絡(luò)操作想跑起來,ws只是一個(gè)基礎(chǔ),有了連接以后需要解決數(shù)據(jù)序列化的問題
4.如果選擇二進(jìn)制協(xié)議,首先ByteBuffer跑不掉,然后優(yōu)先考慮使用protobuf。最終一套開一塊
dcodeIO庫可以搞定,后期有空了可以試試pb3自帶的js,不過看起來只能在node環(huán)境下用。
5.服務(wù)器在github上有大神手?jǐn)]的cpp解碼websocket協(xié)議相關(guān)代碼,不過個(gè)人覺得肯定有缺陷的,使用成熟一點(diǎn)的庫會(huì)更好,這里首選websocketpp。將來萬一還是不行,就直接換java php c# go之類的提供的ws標(biāo)準(zhǔn)庫的語言。不在這些通用標(biāo)準(zhǔn)的細(xì)節(jié)上折騰,盡量使用工業(yè)化、成熟的組件。
整理一下思路:
服務(wù)器應(yīng)該有一個(gè)ws網(wǎng)關(guān),用來監(jiān)聽ws端口,接受客戶端發(fā)起的ws鏈接,并保持心跳。ws網(wǎng)關(guān)不直接處理ws網(wǎng)絡(luò)數(shù)據(jù),而是轉(zhuǎn)發(fā)給內(nèi)網(wǎng)實(shí)際的模塊去。