[原]pomelo基础知识(一)
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基础知识(一)的更多相关文章
- Java基础知识【下】( 转载)
http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...
- Oracle数据库基础知识
oracle数据库plsql developer 目录(?)[-] 一 SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...
- 图解TCP/IP→第2章基础知识
####TCP.IP背景**关键词:ARPANET,UNIX,分组交换技术,*ARPANET(阿帕网),也是全球互联网的鼻祖.阿帕网的成功也充分证明了基于分组交换技术的通信方法的可行性.*20世纪70 ...
- C++ 顺序容器基础知识总结
0.前言 本文简单地总结了STL的顺序容器的知识点.文中并不涉及具体的实现技巧,对于细节的东西也没有提及.一来不同的标准库有着不同的实现,二来关于具体实现<STL源码剖析>已经展示得全面细 ...
- Spring基础知识
Spring基础知识 利用spring完成松耦合 接口 public interface IOutputGenerator { public void generateOutput(); } 实现类 ...
- Oracl基础知识(一)
概述 Oracle功能繁多,接触Oracle不深,将接触到的基础知识整理下来,以便不时之需.整理的内容主要有Expdp指令实现数据库备份,Impdp指令实现数据库还原,以及用户.表空间的定义.整理的数 ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- ReactiveCocoa基础知识内容
本文记录一些关于学习ReactiveCocoa基础知识内容,对于ReactiveCocoa相关的概念如果不了解可以网上搜索:RACSignal有很多方法可以来订阅不同的事件类型,ReactiveCoc ...
- SQL server基础知识(表操作、数据约束、多表链接查询)
SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...
随机推荐
- php 去重
对于二维数组咱们分两种情况讨论,一种是因为某一键名的值不能重复,删除重复项:另一种因为内部的一维数组不能完全相同,而删除重复项,下面举例说明: ㈠因为某一键名的值不能重复,删除重复项 <?ph ...
- CocosCreator动作系统
废话没有,直接上代码,有注释可以看的, cc.Class({ extends: cc.Component, properties: { player:{ default:null, type:cc.N ...
- c# sqlite 数据库加密
c# sqlite 数据库加密 2010-05-29 10:55 用了ADO.NET 2.0 SQLite Data Provider这样可以直接利用它来创建一个加密的sqlite数据库.有关c#代码 ...
- winform 中 给DataGridView的表头添加CheckBox
在C/S架构中,给DataGridView的表头添加CheckBox控件: 添加类: /// <summary> /// 给DataGridView添加全选 / ...
- strcpy和memcpy的差别
strcpy和memcpy都是标准C库函数.它们有以下的特点. strcpy提供了字符串的复制. 即strcpy仅仅用于字符串复制.而且它不仅复制字符串内容之外,还会复制字符串的结束符,strcpy_ ...
- centos7 使用rsync 实现文件同步
一.服务端(192.168.8.81): 安装软件: yum -y install rsync 创建需同步的目录: mkdir -p /home/root/rsync 编辑配置文件:vim /etc/ ...
- Redis 常用监控信息命令总结
查看启动到当前处理命令总数: # redis-cli info stats | grep total_commands total_commands_processed:23693286991 查看每 ...
- WPF手动绑定事件
this.but1.AddHandler(Button.ClickEvent,new RoutedEventHandler(OkButton_Click));
- Android打造完美的刮刮乐效果控件
技术:Android+Java 概述 趁着元旦假期之际,首先在这里,我祝福大家在新的2019年都一个个的新健康,新收入,新顺利,新如意!!! 上一偏,我介绍了用Xfermode实现自定义圆角和椭圆 ...
- 【CLR】详解CLR中的程序集
目录结构: contents structure [+] 程序集的简介 为程序集分配强名称 如何指定程序集的版本资源信息 如何对程序集签名 全局程序集缓存 如何查看程序集的信息 强命名程序集防串改 1 ...