您的位置:首页 > 移动开发 > Cocos引擎

cocosCreator-js客户端+pomelo服务端搭建聊天系统

2017-09-03 18:17 567 查看
开发环境:

cocosCreator版本:1.5.2

pomelo版本:0.3

1.搭建聊天的服务端

        @下载pomelo官方推荐的聊天Demo.地址https://github.com/NetEase/chatofpomelo

@按照例子正常运行启chatofpomelo。(以下是Windows启动,搭建了nodeJs、pomelo环境,这些按照官网推荐搭建)

                   1. 点击运行npm-install.sh

                   2. cd game-server文件下,运行pomelo start.



                   3. cd  web-server文件下,运行node app.


 

                 4.浏览器上打开,http://localhost:3001.能正常运行起来如下:



2.搭建cocosCreator客户端

         上面demo运行起来,主要是为了正常启动服务端,这里才是客户端重点。上面是web端。

 cocosCreator需要使用到pomelo 的cocos-js 插件:https://github.com/fuhongxue/CocosCreator-Pomelo-plugin.

         把pomelo-creator-client.js直接导入到项目里,设置为插件。

       


       启动客户端(参照web-server)简单的启动代码:

       var route = 'gate.gateHandler.queryEntry';

        cc.log("开始链接")

        pomelo.init({

            host: "127.0.0.1",

            port: 3014,

            log: true

        }, function() {

            cc.log("连接成功")

            pomelo.request(route, {

             uid: "gsr"

            }, function(data) {

                 cc.log("开始聊天")

                 cc.log(data.code)

                  pomelo.disconnect()

                 if(data.code === 500) {

                     showError(LOGIN_ERROR);

                     return;

                 }

             //callback(data.host, data.port);

            });

         启动起来,你会发现连接失败,总是保存。

         所以我做了如下修改:

                打开game-server服务端文件夹的app.js,添加如下的代码,重新启动game-server.



app.set('connectorConfig', {
connector: pomelo.connectors.hybridconnector,
heartbeats: true,
closeTimeout: 60 * 1000,
heartbeatTimeout: 60 * 1000,
heartbeatInterval: 25 * 1000
});

注意:connector: pomelo.connectors.hybridconnector ;connector: pomelo.connectors.sioconnector

       pomelo目前提供了hybridconnector和sioconnector,

       其中hybridconnector支持socket(TCP)和websocket,sioconnector支持socket.io(websocket的封装)。
       sioconnector使用socket.io(websocket封装)本身有自身是有心跳的,不需要配置,服务端检测客户端退出可以通过心跳超时。
       hybridconnector支持socket(TCP)和websocket,须手动设置心跳、超时断开、字典压缩和protobuf。
我们客户端的是webSocket.要添加hybridconnector。

好了!上面修改完app.js,重新启动服务器端和客户端就能通信了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐