CocosCreator 集成 Pomelo 教程

本文出自 Eddy Wiki 础钠,轉(zhuǎn)載請注明出處:http://eddy.wiki/creator-pomelo.html

本文主要介紹怎么在 CocosCreator 中集成 Pomelo坯沪, 以及使用CocosCreattor + Pomelo 開發(fā)一個多人聊天應(yīng)用马篮。

使用 Pomelo 官方多人聊天 demo(下文統(tǒng)一稱為 pomelo-chat-demo)的服務(wù)端代碼作為本多人聊天應(yīng)用的服務(wù)端穴豫,而本聊天應(yīng)用客戶端(下文統(tǒng)一稱為 ccc-pomelo-chat-client)則是參考 pomelo-chat-demo 的web客戶端使用CocosCreattor實(shí)現(xiàn)皮钠。

怎么運(yùn)行ccc-pomelo-chat-client

本人開發(fā)環(huán)境

CocosCreator 1.1, Pomelo 1.2.2, MacOS 10.10.3

安裝 pomelo

參考 安裝 pomelo wiki 安裝 pomelo捶索。

pomelo-chat-demo 源碼下載與運(yùn)行

ccc-pomelo-chat-client 服務(wù)端使用的是 pomelo-chat-demo 的服務(wù)端因妇,并沒有另外開發(fā)欲逃,這樣可以很方便的展示多人聊天應(yīng)用的多端(Web, Android, desktop等)聊天通訊功能找蜜。

參考 pomelo chat 源碼下載與安裝 wiki 下載 pomelo-chat-demo 源碼。

下載源碼后稳析,通過下列步驟來運(yùn)行 pomelo-chat-demo洗做。下文使用 yourdir 指代你本地 pomelo-chat-demo 源碼的存放目錄。

打開終端彰居,啟動 pomelo-chat-demo 的聊天服務(wù)器诚纸。

$ cd yourdir/chatofpomelo-websocket/game-server 
$ pomelo start

打開另外一個終端,啟動 pomelo-chat-demo 的 web 服務(wù)器陈惰。

$ cd yourdir/chatofpomelo-websocket/web-server
$ node app.js

如果啟動過程中沒有錯誤畦徘,那么我們就可以打開瀏覽器,輸入 http://127.0.0.1:3001/index.html, 然后就可以看到聊天應(yīng)用的界面了抬闯。輸入一個用戶名和一個房間名井辆,就可以開始聊天了∪芪眨可以多開幾個客戶端實(shí)例(即打開多個網(wǎng)頁)杯缺,測試 pomelo-chat-demo 是否能正常地運(yùn)行。效果圖如下:

那么怎么關(guān)閉 pomelo-chat-demo 的聊天服務(wù)器呢睡榆,其實(shí)很簡單萍肆。打開另外一個終端

$ cd yourdir/chatofpomelo-websocket/game-server 
$ pomelo stop 或 pomelo kill

注意:如果不是按以上步驟關(guān)閉聊天服務(wù)器,那么當(dāng)你再次啟動聊天服務(wù)器的時候胀屿,就有可能因?yàn)榱奶旆?wù)器未完全關(guān)閉而出現(xiàn)錯誤塘揣。出現(xiàn)這種情況可以直接關(guān)閉啟動聊天服務(wù)器的終端(這樣聊天服務(wù)器就被完全關(guān)閉了),然后重新打一個終端啟動聊天服務(wù)器宿崭。

ccc-pomelo-chat-client源碼下載與運(yùn)行

下文使用 yourdir 指代你本地 ccc-pomelo-chat-client 源碼的存放目錄亲铡。

從GitHub上下載 ccc-pomelo-chat-client 源碼。

$ cd yourdir
$ git clone https://github.com/eddy2015/ccc-pomelo-chat-client.git

使用 CocosCreator 打開 ccc-pomelo-chat-client 項(xiàng)目并運(yùn)行預(yù)覽(模擬器和瀏覽器都行)葡兑,效果圖如下:

經(jīng)本人測試奴愉,該客戶端在web、Android铁孵、ccc模擬器都可以正常運(yùn)行,其他平臺請自行嘗試房资。服務(wù)器 ip 地址默認(rèn)為 127.0.0.1蜕劝,如果你是在 Android 等其他不和服務(wù)器同一臺機(jī)器平臺運(yùn)行,請把該 ip 修改成你啟動服務(wù)器的電腦 ip 地址。端口默認(rèn)為 3014岖沛,這個一般不需要修改暑始,除非你改動了服務(wù)器端的代碼。輸入一個用戶名和一個房間名(用戶名和房間名限制了只能是字母婴削、數(shù)字廊镜、或漢字),然后點(diǎn)擊 join 按鈕登陸后就可以進(jìn)行一對多或者一對一聊天了唉俗。

CocosCreator 怎么集成 pomelo

集成 pomelo 步驟

下載 ccc-pomelo-chat-client 源碼嗤朴,把源碼中的 ccc-pomelo-chat-client/assets/pomelo 拷貝到你的 CocosCreator 項(xiàng)目 assets 目錄下,這樣在你的項(xiàng)目中即可使用 pomelo-client 相關(guān) API 了虫溜。

API請閱讀 pomelo/pomelo-client.js 源碼雹姊,具體使用方法可以參考 ccc-pomelo-chat-client 源碼,或者參考以下網(wǎng)址:

  1. pomelo 官方中文 wiki
  2. pomelo-chat-demo 源碼
  3. pomelo 客服端開發(fā)

集成后的會出現(xiàn)的一些警告

CocosCreator 項(xiàng)目集成 pomelo 后衡楞,你會在 CocosCreator 編輯器中看到如下的紅色錯誤信息:

Simulator : mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create
    at a: "Buffer.prototype.__proto__ = Uint8Array.prototype" (../../../../../../../Applications/CocosCreator.app/Contents/Resources/app.asar/node_modules/buffer/index.js:153)

或者在 web 上運(yùn)行時吱雏,看到下列警告信息:

mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create

以上的警告信息并不影響 pomelo 的使用。由于本人水平有限瘾境,所以暫時沒有解決該警告問題歧杏,如果各位有解決方法,請指出迷守。

該 CocosCreator pomelo 庫由來

由于前一段時間對 pomelo 比較感興趣犬绒,所有就去了解了一下。最近也一直在關(guān)注 CocosCreator盒犹,看到論壇有不少人問 CocosCreator 是否能集成pomelo懂更。根據(jù)我個人的理解:CocosCreator 實(shí)現(xiàn)了 websocket 的跨平臺封裝;而 pomelo 也有基于 websocket 的客戶端實(shí)例急膀。因此沮协,CocosCreator 集成 pomelo 應(yīng)該不會有什么問題的。剛好端午節(jié)有空就嘗試集成了一下卓嫂,然后就有了這篇文章和 ccc-pomelo-chat-client慷暂。

ccc-pomelo-chat-client 中的 pomelo 庫生成過程:

  1. 拷貝 chatofpomelo-websocket/web-server/public/js/lib/components/component-emitter/index.js 文件并修改文件名為 emitter.js,在 emitter.js 文件的 module.exports = Emitter; 代碼后面添加 window.EventEmitter = Emitter; 代碼晨雳。
  2. 拷貝 chatofpomelo-websocket/web-server/public/js/lib/components/NetEase-pomelo-protocol/lib/protocol.js 文件行瑞。
  3. 拷貝 chatofpomelo-websocket/web-server/public/js/lib/components/pomelonode-pomelo-protobuf/lib/client/protobuf.js 文件。
  4. 拷貝 chatofpomelo-websocket/web-server/public/js/lib/components/pomelonode-pomelo-jsclient-websocket/lib/pomelo-client.js 文件餐禁,并使用 cc.log血久、 cc.error 替換文件中的 console.log、console.error帮非。

最后

這是我博客的第一篇博文(除了 HelloWord 外_)氧吐,希望大家喜歡讹蘑。由于本人水平有限,文章中難免錯漏之處筑舅,請各位不吝指正座慰。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市翠拣,隨后出現(xiàn)的幾起案子版仔,更是在濱河造成了極大的恐慌,老刑警劉巖误墓,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛮粮,死亡現(xiàn)場離奇詭異,居然都是意外死亡优烧,警方通過查閱死者的電腦和手機(jī)蝉揍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來畦娄,“玉大人又沾,你說我怎么就攤上這事∥蹩ǎ” “怎么了杖刷?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長驳癌。 經(jīng)常有香客問我滑燃,道長,這世上最難降的妖魔是什么颓鲜? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任表窘,我火速辦了婚禮,結(jié)果婚禮上甜滨,老公的妹妹穿的比我還像新娘乐严。我一直安慰自己,他們只是感情好衣摩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布昂验。 她就那樣靜靜地躺著,像睡著了一般艾扮。 火紅的嫁衣襯著肌膚如雪既琴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天泡嘴,我揣著相機(jī)與錄音甫恩,去河邊找鬼。 笑死酌予,一個胖子當(dāng)著我的面吹牛填物,可吹牛的內(nèi)容都是我干的纹腌。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼滞磺,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了莱褒?” 一聲冷哼從身側(cè)響起击困,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎广凸,沒想到半個月后阅茶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谅海,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年脸哀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扭吁。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡撞蜂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出侥袜,到底是詐尸還是另有隱情蝌诡,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布枫吧,位于F島的核電站浦旱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏九杂。R本人自食惡果不足惜颁湖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望例隆。 院中可真熱鬧甥捺,春花似錦、人聲如沸裳擎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鹿响。三九已至羡微,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惶我,已是汗流浹背妈倔。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绸贡,地道東北人盯蝴。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓毅哗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親捧挺。 傳聞我的和親對象是個殘疾皇子虑绵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 點(diǎn)擊查看原文 Web SDK 開發(fā)手冊 SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個完善的 IM 系統(tǒng)...
    layjoy閱讀 13,711評論 0 15
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,860評論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件闽烙、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評論 4 62
  • 今天黑竞,我讀了《查理九世——香巴拉,世界的盡頭》1-40頁捕发。 好詞:層層疊疊、滿臉驚懼很魂、慌不擇路扎酷、神精質(zhì)班、撕心...
    王子凡同學(xué)閱讀 3,273評論 1 0
  • 入秋后雨噼里啪啦下著 云里的他不時按著快門 好像把人間都拍進(jìn)去 身上的長袍濕了大片 鏡頭里風(fēng)吹著一顆纖細(xì)的樹搖搖欲...
    吉加子閱讀 225評論 0 1