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