1.pomelo基本介绍 http://blog.gfdsa.net/2013/06/04/pomelo/pomelo_study_two/

2.如何配置一个gate服务器

(1)首先 需要在gameserver下的 app.js添加如下代码

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

(2)在gameserver下的config的server.json 和adminServer.json 配置如下:

server.json

adminServer.json

(3)在gameserver的app/servers新建gate/handler/gateHandler.js 代码可以抄connector/handler/entryHandler.js

module.exports = function(app) {
return new Handler(app);
}; var Handler = function(app) {
this.app = app;
}; /**
* New client entry.
*
* @param {Object} msg request message
* @param {Object} session current session object
* @param {Function} next next step callback
* @return {Void}
*/
Handler.prototype.entry = function(msg, session, next) {
var res = this.app.getServersByType('connector'); //获得connector类型服务器 返回值为connector类型服务器的数组
console.log(res[0].clientPort)
next(null, {code: 200,host: res[0].host,port: res[0].clientPort});//取第一个connector类型服务器的ip和端口
}; /**
* Publish route for mqtt connector.
*
* @param {Object} msg request message
* @param {Object} session current session object
* @param {Function} next next step callback
* @return {Void}
*/
Handler.prototype.publish = function(msg, session, next) {
var result = {
topic: 'publish',
payload: JSON.stringify({code: 200, msg: 'publish message is ok.'})
};
next(null, result);
}; /**
* Subscribe route for mqtt connector.
*
* @param {Object} msg request message
* @param {Object} session current session object
* @param {Function} next next step callback
* @return {Void}
*/
Handler.prototype.subscribe = function(msg, session, next) {
var result = {
topic: 'subscribe',
payload: JSON.stringify({code: 200, msg: 'subscribe message is ok.'})
};
next(null, result);
};

(4)客户端请求:(我是用quick实现的,根据自己需要 只要路由发“gate.gateHandler.entry”就行)

local route = "gate.gateHandler.entry"
 local msg = { uid = "luaClientWindows" }
 client:pomeloRequest(route,tostring(json.encode(msg)))

实验结果:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAp0AAAAsCAIAAACovpSQAAAKiElEQVR4nO2dy9WsuA6FyadSIYMO4ZII446B4c2hUuhM7uhOTw94SbYky4Cxofa3zjrrL8r4IVvefkF1//nv/+N/f/39T9d1/fj9jn3XdV3XfYZp+fszTN/t+meYpL/nMMsHGk0/7vcGX+0Egbo9B0JgM/75wjRN0bWM+Pdvv9PwCS6tV/px/TuIZ8udFn/udWe6Tj7DxEuVsGenVZoQlWxntZ1Y9yg530PS+7Q4WMuVyxNGM5enH7+kOQ+kjMwWVt6F9uMq1/Hr2e1kLqVSX3E8ej366zBIxGUfAH6AP3/+/C+Tv/7+Z1PwztD1zV+/1OVmdx7H8DoNPg0f0uORWMZ+7j3Wu8hXrCtg1+fQ/BK9wYh/6WSi/kKLP0fXg2joCEjVdY6ZrpUfR7pOBF237Zmh61Gho1rn7WSNPEPXhciNdKObmCpF5d2ujz0pdD9+xajNdHN1vVY7UQonxdNZ9ajawS41dB2ArusK67rEMf2ohqZCAAAAQItA1y2kOSQAAADQLtB1mXVFsf2cAgAAADuFdZ1tlD1r5sv2CiHvFyNvOD+rhYCWoLv185XtkF7OXIId84sJT0lmx6/EGcdT2i8S8SfsUIyD6ZbYL5XrhR6baZcbdN04lMPrL/u0zEJ4WCrlEWH4RLrYYi9AbFTsedRj95inNnSp9Txb12mGSvqFEj903a6XxrurCrpOZDfS9QOWYk8RzfF86Gl2ydsjXbfSLabrtZpGVrrC+fwr8tyyrreTk1sgxX1uyaWOZr/Wj1cVS35491z8djxX1Al/TuEuvxNiVqrpfPolOmm7Xq5rUyW4X9dX1Y0V4kAFz/GrlRq1LDE8dD0RGLr+YnhNPHZxSuhmoetLnMGDpn09XZdK2I8XtLjbdd1YiW6BeuvwF+j6Grv3kWgl/GW6vi/ojwOfBIWDZT6AjtYu2CPRddPVdV2KfwtPsiQ+sDy4dN3Iz1aSPAMl8qnbR05XWKFj5Wjtueo4P4HZhY9t559+424K7F1A9HU4cpsy221mPrORakTKv+yP6XF46HeGHS7wo62vpYvc0/BR0z3Sn8TvSzDXCVhmvXUmD+Wa8ZfGdD3HuGw4xVNZYxLm6kL4RLpeXY8kb/3Q9/K+gLWz5XbL0ukaui7GvxqTvLMlLsscKKHrRn62mz1jfU88rJSifbR0w9YhvWClAT9fiPMTtLCgutvP/4p3yqzronYp0W4z85mNX9cFf3T0H9p8Xe5UT/vR4jm7JUMXVjpnd3/yGcgGPTVEMJ7o+nEz0YGJt6xszfhLS7q+4vIeGrM1X6dVnwivpOus+Hg9My4dd0rZo/id6cQLp8tnAcroh8TP3Co8926t90rzBi0/OY7jiyec+Mi6rk0U2fw8lbnAosHcvtx1j3mkBYi2879Ot7xdc7au196ncOt6cI+5kqnHvyHZ4QI/WgS2H6dxnJa/WBhJ1zP6E8Vca/c/p7uMLI51KDyr6eZQxV9a1HVP7yLIjXQHXe1xhBfT9bly0J5Y6ZRjK+a80NuzlU5Xn6/L8QvhJX9L6rozP0kyypXWdTnd/V6jubeKYPYGphv5lJqvJ9ttaTJ0PfbH6+brV/rR2Pfj/N809Iu8mulm9Cdhidcv5vbxGaYlcT6e2ErnrtvGXf2puh5FJYfWp6Zi+JO6LuofLWf+vDlJ6XRz47f88MR8XctPGn+5jur6doNXW5qi9nz0Irz9bLRS7ND1ZufryrI0ud6PKbE6Nl9nt+f4UdeP33XK3I/fcQym6zm6njFfn9vHMCzpCuOJNbDTgxv39SZ1PW6M9r6FZx3eE152Aqcrhz5G9W+9PUhAjtlyRcEOhdM1dV2IX/XzUPtTuu7LT9o+/nKZq5t2uv34jX73T8tPTaT8EMNHdfCE/M+4+1neguOmEVZ+qt1m5jMbfbzL86/5e2qx2KvrF/kRNc3858FxlVYvrNMnIkPs8BmmaVoPzam/r2gjK1sz/nK/rvPFIrKiQ7/J6x+D6qApiLWkh9fU3lXZ+1IVe5SOrGCd+D06ww5F09XX4eX4E+P3NeL0fN2XH7EKEpsMqfVD0T6JdYJ+FNtnM36+oORn94CghA/Jf9ayKF1zTa/Dd6l2m5fPfJSxVpx/w995n6sO6xjq4PacH7HxgTRU8K+XqPVCk9W7LpIFxTQm4kCyGX+pN19/DIeW3mqtZz52HfXhwO510dQJgCI03uDwfngNNpBz7dx9+LT6rm6+Vrpgo3En/w1Wh0VFgILQVYLaedG5/ffc3kutMcyDx07PZxUTDKYAAK1QT9fjcc+2AUKnnTdMQcV0K8bzFFq2m2dd/On1VSv/z7Ab3YYG4LeopevSyuW7dV0//xIf7+Ck5+DquaeLwov5h67PaIcQO93OR+wf83Rdpy1deIRBsY/WcyjhsUUCfpCaui4p33ZIUX70+hSai4vpHoxfiId0X1zXt/c+6s9Nes4dWs8pXRFey39pu53Co+sXpavVo2bnXPuXzr8Zf1F/kX93UbOP6ke2PRt/0BiAAlRbhxfc7Z26rv9+Hb9TKmTveP05V7C0nuWGN39/D7oexSg9T0w/5drfTu3Jui6npNlHa4cJe77hiRwAMrnlPLzdOdgsXSV9Rpt/F19mK9nRo/H+1W0z/9mkdF18GDJtoeDW5AwwN/yGlf9SCM/LhpephciRjUF7jtbXxx+sd33quH08bP+MLFB/oZFLdluHIpuHjH13t79QIyTtE7TDVHhM18EPUk3Xvf629kXR20HYomfwXiG58z7Qh96j69p7mTzpCt2cqV254bUby6PsTmj1Hr8yRzih4S3EsXqn9ajZ+bD9nSz+QpyB2iS2FfcvtkBU3l/WxMkNSfsEAVLhMV8HP0iFdfg+8WJDTtC7b12nME7fv9A3q+uN3TVJUXLlWYIXon2PrivpqfVurXsL7edygoxV1XXhJVua3XR3uc9faB6u1vU1DM7Fgx+ipf11EaGf2rpxfZttW3EMh+6N6bqxhenM6VvX4Y0jB2K9C7K6D/MOrCjn5zY+fFBxHX79uJnLstt161tH4esHV67DY74OfpBqup65v75+TM/Xw3v3QM3pumoD72R9jbfkuTkasuH5utZO7si3WI/lz82pedlj5MtYDruFUd1U4ySplH0yz81hfx38IM/YXxfPx8r7hdbv8+R3oiX319Vu0xjySPnRD2tdE17Lv8kFS59skzy4rO2pk6bB9tRzc5JT78aai2hny/7n7aYeLbD215X07vIXPv427WP7kRAe83Xwg9TSdbe7qbq+xc4X3PlJXsHJxZPUZurndF04Wvydhk+8QLzlx5itK/nZ0whuvCC8ln9Pqc92qIGN2BnuuADb5Sn83S0ej6M6M+pdr0fdzqr9L9L1cRylskp2Mzf4y/oLbVlp+1jtULcnJuzgF2npfXPgTaA/PcZJu11+EO/hoKMBP0jF331ZB9nwuhdS7tz5uzltN+j6Al29qZ0XAO4Fv+cGwIuArgPw80DXAQAAgPcAXQcAAADeA3QdAAAAeA/QdQAAAOA9QNcBAACA9wBdBwAAAN4DdB0AAAB4D9B1AAAA4D1A1wEAAID3AF0HAAAA3kMpXY9/e2mmdnkBAACAN3NS1/8FvccNvN+WA0oAAAAASUVORK5CYII=" alt="" />

[原]pomelo基础知识(一)的更多相关文章

  1. Java基础知识【下】( 转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

  2. Oracle数据库基础知识

    oracle数据库plsql developer   目录(?)[-] 一     SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...

  3. 图解TCP/IP→第2章基础知识

    ####TCP.IP背景**关键词:ARPANET,UNIX,分组交换技术,*ARPANET(阿帕网),也是全球互联网的鼻祖.阿帕网的成功也充分证明了基于分组交换技术的通信方法的可行性.*20世纪70 ...

  4. C++ 顺序容器基础知识总结

    0.前言 本文简单地总结了STL的顺序容器的知识点.文中并不涉及具体的实现技巧,对于细节的东西也没有提及.一来不同的标准库有着不同的实现,二来关于具体实现<STL源码剖析>已经展示得全面细 ...

  5. Spring基础知识

    Spring基础知识 利用spring完成松耦合 接口 public interface IOutputGenerator { public void generateOutput(); } 实现类 ...

  6. Oracl基础知识(一)

    概述 Oracle功能繁多,接触Oracle不深,将接触到的基础知识整理下来,以便不时之需.整理的内容主要有Expdp指令实现数据库备份,Impdp指令实现数据库还原,以及用户.表空间的定义.整理的数 ...

  7. Java基础知识系列——String

    最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...

  8. ReactiveCocoa基础知识内容

    本文记录一些关于学习ReactiveCocoa基础知识内容,对于ReactiveCocoa相关的概念如果不了解可以网上搜索:RACSignal有很多方法可以来订阅不同的事件类型,ReactiveCoc ...

  9. SQL server基础知识(表操作、数据约束、多表链接查询)

    SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...

随机推荐

  1. java定义一个二维数组

    https://zhidao.baidu.com/question/2052557356110840027.html https://blog.csdn.net/houpengfei111/artic ...

  2. oracle中的decode的使用(转)

    地址:http://www.cnblogs.com/juddhu/archive/2012/03/07/2383101.html 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值 ...

  3. 关于Linux的Putty连接访问

    1.打开putty 2.点击Connection->SSH->Auth->Brower 3.输入root@域名,点击open 4.进入成功

  4. C++ operator重载运算符和隐式转换功能的实现

    C++ operator重载运算符和隐式转换功能的实现: #include <iostream> using namespace std; class OperatorTest { pub ...

  5. Structured Streaming教程(3) —— 与Kafka的集成

    Structured Streaming最主要的生产环境应用场景就是配合kafka做实时处理,不过在Strucured Streaming中kafka的版本要求相对搞一些,只支持0.10及以上的版本. ...

  6. 分布式理论——从ACID到CAP再到BASE

    在传统的数据中,有ACID四大原则,在分布式中也有对应的CAP理论和BASE理论,这些都是分布式理论的基础. 更多内容参考:大数据学习之路 ACID ACID分别是Atomicity 原子性.Cons ...

  7. [Beego模型] 四、使用SQL语句进行查询

    [Beego模型] 一.ORM 使用方法 [Beego模型] 二.CRUD 操作 [Beego模型] 三.高级查询 [Beego模型] 四.使用SQL语句进行查询 [Beego模型] 五.构造查询 [ ...

  8. 【linux】linux下对java程序生成dump文件,并使用IBM Heap Analyzer进行分析,查找定位内存泄漏的问题代码

    1.首先,java程序启动在linux,怎么生成dump文件? 1>第一步,首先你需要得到java程序的PID,最简单的方法使用如下命令 ps -ef|grep java 或者如果是docker ...

  9. 普通用户使用docker命令免sudo权限的问题

    方法很多,只写一种 操作步骤: 使用有sudo权限的帐号登录系统. 创建docker分组,并将相应的用户添加到这个分组里面. sudo usermod -aG docker your_username ...

  10. C# ConcurrentStack实现

    我们通过C# Queue 和Stack的实现知道Stack是依靠数组实现的,那么ConcurrentStack的栈又是如何实现的了,然后它的线程安全又是怎么做到的了? 来看看其code吧 public ...