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,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" 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. Linux中日期的加减运算

    Linux中日期的加减运算 目录 在显示方面 在设定时间方面 时间的加减 正文 date命令本身提供了日期的加减运算. date 可以用来显示或设定系统的日期与时间. 回到顶部 在显示方面 使用者可以 ...

  2. 关于ADO.Net SqlConnection的性能优化

    Connections Database connections are an expensive and limited resource. Your approach to connection ...

  3. 咖啡之约--体验 SourceAnywhere

    http://www.damingsoft.com/campaign/school-campaign-coffee-code.aspx 必备技能:代码版本控制 不论你是菜鸟还是大牛,想要获得高薪水和高 ...

  4. 关于“UI线程”

    http://www.cppblog.com/Streamlet/archive/2013/05/05/199999.html 缘起 这是一篇找喷的文章. 由于一些历史原因和人际渊源,周围同事谈论一些 ...

  5. java并发之如何解决线程安全问题

    并发(concurrency)一个并不陌生的词,简单来说,就是cpu在同一时刻执行多个任务. 而Java并发则由多线程实现的. 在jvm的世界里,线程就像不相干的平行空间,串行在虚拟机中.(当然这是比 ...

  6. 递归与迭代的联系以及优缺点(以c++为例)

    1.递归的定义: 程序直接或间接的调用自身的方法. 递归算法的特点:(1) 递归就是在过程或函数里调用自身.(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口.(3) 递归算法解题通 ...

  7. 版本控制git(三)-git分支

    通过本系列的上两篇文章(查看系列文章:http://www.cnblogs.com/jerehedu/p/4607599.html#bbkz),我们已经知道了如何使用Git完成对文件的版本控制.本次我 ...

  8. Elasticsearch 开启

    一.知识补充,摘抄,总结 1. Elasticsearch ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.E ...

  9. sql server 多表关联更新 update

    update a set a.KSMC = b.name from JC_KSXXB a inner join chisdb_ymyy..zd_unit_code b on a.KSDM = b.co ...

  10. R语言编程艺术#04#数据框(data.frame)

    从直观上看,数据框类似矩阵