美文网首页
3-新建项目遇到的问题集合

3-新建项目遇到的问题集合

作者: 比特阳 | 来源:发表于2017-05-14 17:31 被阅读0次

    20170511 创建

    0 直接用pomelo init 创建项目,然后开始。

    1 服务器启动时看到的错误:

    Option path is not valid

    onesec5-3 11:01 回复Option path is not valid
    这个看起来是配置路径不对
    https://github.com/NetEase/pomelo/blob/master/lib/connectors/sioconnector.js
    此文件替换node_modules/pomelo/*/lib/connectors/sioconnector.js ,即可解决此问题,新版sockect.io用法不正确所致的警告,官方已修复,但还没有publish到npm

    2 新添加一个gate服务器报错

    WebSocket connection to 'ws://127.0.0.1:3014/' failed: Connection closed before receiving a handshake response

    新增服务器需要在以下几个地方注册:
    1,adminServer.json
    2,app.js

    app.configure('production|development', 'gate', function () {
        app.set('connectorConfig',
            {
                connector: pomelo.connectors.hybridconnector,
                useProtobuf: true
            });
    });
    

    3 热更新支持

    1.0新特性:https://github.com/NetEase/pomelo/wiki/pomelo-1.0%E6%96%B0%E7%89%B9%E6%80%A7

    在1.0正式版本中,提供了handler和remote的热更新的部分支持。在pomelo1.0正式版中,提供对handler和remote两个目录中的文件进行监控,当有文件更新时,系统会重新load对应的handler和remote服务,这时当有新的handler请求和rpc请求进入时,系统就会自动执行更新后的服务。但是对于在非handler和remote目录的文件就不支持热更新。热更新开关默认是关闭状态,用户可以通过配置打开热更新服务。

    使用方法:

      // handler 热更新开关 
    
        app.set('serverConfig',
        {
            reloadHandlers: true
        });
    
    
     // remote 热更新开关 
        app.set('remoteConfig',
        {
            reloadRemotes: true
        });
    
    

    4 mysql连接失败

    端口问题
    参考demo,配置好数据库,数据库默认端口3306,但我的不是,于是发现dao_pool.js中并没有使用配置文件的端口。
    增加一行:

    return new Promise(function(resolve, reject){
              var client = mysql.createConnection({
                host: mysqlConfig.host,
                user: mysqlConfig.user,
                port: mysqlConfig.port,    #这里是数据库端口,
                password: mysqlConfig.password,
                database: mysqlConfig.database
              });
              resolve(client);
          });
      },
    

    注意dao_pool.js由于有报错,已经替换为新的版本,请见我的上一篇文章。

    5 unity项目报错找不到pomelo库

    pomelo-unitychat-socket-master 官网下载的demo项目直接打开就报错了。
    dll库版本不匹配
    解决办法:
    1,下载pomelo-unityclient-socket-master
    2,打开工程,修改生成配置

    image.png

    3, release版本重新生成dll
    4, 新的DLL拷贝到demo项目:pomelo-unitychat-socket-master\Assets\Plugins
    5, 这时发现报错已经变了,现在的错误是:
    Assets/scripts/LoginGUI.cs(46,8): error CS1729: The type Pomelo.DotNetClient.PomeloClient' does not contain a constructor that takes2' arguments
    这是demo对接口的用法不对,照着新的教程修改代码即可

    string host = "127.0.0.1";
            int port = 3014;
            pc = new PomeloClient();
            pc.NetWorkStateChangedEvent += (state) =>
            {
                Debug.logger.Log("CurrentState is:" + state);
            };
    
            pc.initClient(host, port, () => {
                Debug.logger.Log("init ok...");
                pc.connect(null, (data) =>
                {
                    Debug.logger.Log("connect ok...");
                    JsonObject msg = new JsonObject();
                    msg["uid"] = userName;
                    msg["username"] = "abc";
                    msg["password"] = "123";
                    pc.request("gate.gateHandler.queryEntry", msg, OnQuery);
                });
             });
    

    6, demo的服务端要对应,都是socket的版本。
    https://github.com/NetEase/chatofpomelo-websocket

    相关文章

      网友评论

          本文标题:3-新建项目遇到的问题集合

          本文链接:https://www.haomeiwen.com/subject/xbgotxtx.html