文档章节

Pomelo游戏服务器端开发系列(4)-Connector

nextzeus
 nextzeus
发布于 2017/05/09 13:59
字数 300
阅读 130
收藏 0

Connector

在客户端通信的时候, pomelo目前提供了hybirdconnector和sioconnector,其中hybirdconnector支持tcp,websocket,; sioconnector支持socket.io; 实际编程中,我们可能需要定制自己的connector,pomelo提供了接口

内建的connector分析

以sioconnector为例分析

sioconnectot构造函数里需要三个参数 host, port, opts host,port是要监听socket绑定的 会监听以下几个事件:start, disconnect, error, message

encode/decode

服务器端收到客户端的请求message或者需要给客户端发送回应或者推送消息时,pomelo会使用connector的decode函数对数据进行解码。

客户端请求信息:

{
    id: <requestId>, //客户端产生的请求ID 不同的session 请求ID是互不干涉的[notify类型request reqId null]
    route:  <handlerRoute>, //请求位置 chat.chatHandler.send 
    body:   <requestBody> //请求参数
}    

服务器端给客户端的响应活着服务器端的推送消息,会使用connector的encode进行编码,encode(reqId, route, msg) 如果是推送消息,reqId为null;

decode/encode可通过opts配置 优先使用opts指定的decode/encode

//connector 配置
app.set('connectorConfig', {
    connector: pomelo.connectors.hybirdconnector,
    encode : <encode func>, //optional
    decode : <decode func>, //optional
    heartbet:30
});

© 著作权归作者所有

nextzeus
粉丝 12
博文 12
码字总数 4740
作品 0
朝阳
程序员
私信 提问
用Pomelo 搭建一个简易的推送平台

前言 实际上,个人感觉,pomelo 目前提供的两个默认和 使用的协议并不适合用于做手机推送平台,在pomelo的一份公开ppt里面,有提到过, 网易的消息推送平台是基于pomelo开发的 (一个frontend 支持...

打杂程序猿
2013/06/18
0
9
网易开源游戏服务器框架 pomelo 发布 0.6 版

pomelo 0.6是一次很大的升级, 是自0.3版以来最重要的一次升级 在Pomelo 0.6版本中,对pomelo部分结构进行了调整,将原有的globalChannel组件和master高可用组件从框架中移出,以一种插件的形...

谢骋超
2013/08/26
6.5K
7
网易开源游戏服务器框架 pomelo 0.9 版发布

pomelo 0.9版于2月26日发布,以下是该版本的新特性。 ## pomelo rpc支持zeromq通信 在pomelo 0.9中提供了基于zmq的rpc调用,开发者可以根据需要选择原有的pomelo-rpc或者pomelo-rpc-zeromq。...

谢骋超
2014/02/27
8K
5
pomelo 1.0 preview版发布, 网易开源游戏服务器框架

## pomelo udpconnector提供 根据网友的要求,在pomelo 1.0中提供了udpconnector。在该udpconnector中,采用了pomelo之前hybridconnector提供的传输协议,包括握手、心跳及数据包的格式。该c...

谢骋超
2014/05/16
4.6K
9
当前的几种开源游戏服务端介绍

当前的几种开源游戏服务端介绍 pomelo Pomelo 是基于 Node.js 的高性能、分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳...

opensourcecn
2015/01/10
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Redis缓存穿透、缓存雪崩和缓存击穿

Redis缓存穿透、缓存雪崩 缓存雪崩,是指在某一个时间段,缓存集中过期失效。 产生雪崩的原因之一,比如在写本文的时候,马上就要到双十二零点,很快就会迎来一波抢购,这波商品时间比较集中...

architect刘源源
13分钟前
1
1
ArrayList源码分析

一、核心变量 // 序列化ID private static final long serialVersionUID = 8683452581122892189L; // 默认初始化容量 private static final int DEFAULT_CAPACITY = 10; ......

星爵22
22分钟前
1
0
++a a++的再次理解

public class Test { //// public static void main(String[] args) throws InterruptedException { // TODO Auto-generated method stub int a=1; int b=2; int c; int d; c=......

南桥北木
23分钟前
0
0
整合Spring和SpringMVC

1.Spring容器和SpringMVC容器的关系 Spring容器是一个父容器,SpringMVC容器是一个子容器,它继承自Spring容器。因此,在SpringMVC容器中,可以访问到Spring容器中定义的Bean,而在Spring容器...

薛小二
23分钟前
0
0
递归实现后序遍历二叉树

问题描述 从键盘接受输入先序序列,以二叉链表作为存储结构,建立二叉树(以先序来建立)并对其进行后序遍历,然后将遍历结果打印输出。要求采用递归方法实现。 解题思路 递归实现 程序实现 ...

niithub
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部