摘要:经过的前面的梳理,整个ranch框架的结构,大致有了一个清晰的脉络,即使我说的不是很清楚大家也基本能阅读懂源码。下面我继续分析剩下的的几个文件。7.ranch_transport.erl 这个文件是一个自定义的的erlang行为模式,主要规范实现这个行为模式的子类必须要实现那个函数,整个函数分为行为...
阅读全文
摘要:接着上一篇继续研究上一篇结尾的时候,我们谈到了连接,监听两个监督树,今天我们就来看看这两个监督树和他们的工作者都是干什么的,怎么实现的。文件编号接上篇。6. ranch_acceptors_sup.erl 1 -module(ranch_acceptors_sup). 2 -behaviour(s...
阅读全文
摘要:紧接上篇,今天我们来分析监督树的工作者,打工仔执行任务的人。废话不多少我们直接进入正题。 3.ranch_server.erl 整个文件的功能主要是存储tcp对应参数的的信息。信息的存储方式采用的ets内存表的方式存储方式。当然有需求也可以采用mnesia来存储对应的数据。不过除非需要大规模集群处...
阅读全文
摘要:Ranch 是一个tcp处理的程序框架。官方的解释 Ranch is a socket acceptor pool for TCP protocols. 主要目的是提供一个方便,易用,高效,稳定的tcp处理基础程序。前面我也用它作为基础写了个简易的聊天的程序。cowboy底层通信处理也是ranc...
阅读全文
摘要:使用cowboy实现websocket主要实现以下回调函数 下面的函数返回值要具体弄清楚原因参考 websocket具体协议 主要就是两个部分 握手和数据传输 -export([init/3]).常见所有处理程序回调。建立WebSocket连接,这个函数必须返回upgrade的元组。 -expo...
阅读全文
摘要:在网页游戏开发中,绝大多数即时通信游戏采用flash+socket 模式来作为消息数据传递。在开发过程中大多数开发者在开发过程中本地没有问题,但是一旦部署到了网络,就存在连接上socket服务器。究其原因主要是没有部署安全策略文件。在这里我主要说说flash策略文件部署。1.flash安全策略文...
阅读全文
摘要:在erlang游戏开发tcp我们建立起了自己的socket tcp 服务器的基本骨架。当时面对并发情况下,多人同一时刻连接服务器的时候,我们的基本骨架 还是难以应付处理。这就使我不得不想对这样的情况如何去处理。怎么处理呢? 预先开多个线程侦听连接,侦听到有连接后重新开线程处理当前连接,然后继续侦...
阅读全文
摘要:rebar作为erlang开发中编译,构建,发布,打包,动态升级的常用工具,下面我记录下rebar工具的安装及使用从源码安装rebar 1. 建立文件 install_rebar.sh2. 拷贝如下shell到 install_rebar.shgit clone git://github.com/r...
阅读全文
摘要:第一步 从源码安装erlang git clonehttps://github.com/erlang/otp 目前最新版本为17.X cd otp/ ./configer 检查编译环境 sudo make & make install 编译并安装 我是在ubuntu 系统下配置的 其余的li...
阅读全文
摘要:之前在开发游戏的时候我们采用smartfoxserver这个java开发的游戏引擎,这个引擎在开发回合制游戏方面速度还是不错的。但是面对客户日益增长的需求还是有些力不从心。比如集群,比如灾备,热切换,热更新,热降级,面对上10G的流量攻击,隐藏真实的游戏服务地址等等需求 。这些问题虽然通过jav...
阅读全文
摘要:在开发过程中rebar自带模板建立项目,或多或少不能满足自己的开发需求。本人又是那种懒人,所以就要想办法偷懒。查看了priv模板 打造适合自己的项目模板。下面我简单的介绍整个模板的打造过程。准备过程 1.创建对应的template 目录 2.ctrl+h 查看当前用户目录下是否有一个 .rebar ...
阅读全文