server
chenee543216
这个作者很懒,什么都没留下…
展开
-
Python Singleton;__init__ __call__;__metaclass__;Python 单例介绍
1 首先网上有很多实现方式,而且stackflow里面有大神详细介绍了各种实现。自己google吧,就不贴URL了。我这里简述原理,放个简单demo帮助理解。 1 class Singleton(type):原创 2014-01-01 01:09:50 · 1056 阅读 · 0 评论 -
poemlo代码分析系列3————game-server (未完结)
介绍 pomelo这个脚本当我们pomelo init helloworld的时候,会在当前目录下面生成一个helloworld的工程,这个过程其实是调用 `which pomelo`这个脚本来实现的,我们直接看这个脚本。扫一眼,可以看出基本上是 commander的框架的一个应用。其他path,child-process这些库,猜都能够猜出来是解析路径和spawn子进程用的。原创 2014-01-19 15:00:38 · 702 阅读 · 0 评论 -
node.js require 实现机制初窥;pomelo代码分析5----------- pomel-loader模块
这里接上面一章,blablabal这篇主要介绍node.js的模块加载机制和代码分析。顺带提一下pomelo-loader。下面我们来介绍pomelo的loader模块,npmjs.org上面介绍如下:pomelo中使用Convention over Configuration的形式管理工程目录,不同的功能按约定放在不同的目录下。pomelo-loader为原创 2014-01-23 11:43:08 · 1511 阅读 · 0 评论 -
poemlo代码分析系列2————web-server介绍,代码,工具,方法
接前面。假定页面大家已经跑起来了。+++++++++++++ 坑 +++++++++++++++++前面已经说过了,这个web-server是基于Express框架的一个简单的webserver。这个框架在node.js里面还是很有名气的,官网在这里:http://expressjs.com/ 里面有api,使用方法的介绍。另外,有专门的书籍介绍这个框架。《Express.原创 2014-01-14 23:04:25 · 1152 阅读 · 0 评论 -
pomelo代码分析4------node_moduels的依赖
这里要赞一下pomelo,使用module的方式组合代码能够大大的降低耦合,编译俺们学习。要想宏观了解pomelo有那些功能,直接看其引用的modules,会很直观。以下为根目录的modules。每个module的自己还可能继续引用其他module,比如我们后面要说的pomelo-rpc。(直接说方法: 到https://npmjs.org/ 的网站去搜索相应的module,有其详细的原创 2014-01-23 10:04:52 · 666 阅读 · 0 评论 -
node.js event emitter代码分析。pomelo代码分析系列6————秒杀 event
本来是想一句话说完event的,但是语言组织出问题了。event实现的代码在 node-v0.10.24/lib/events.js ;加上注释总共才不到300行代码基本上就是维护一个event{}的数据结构:add ,remove,set,get。。。。实现异步事件的本质就是1、注册回调函数或者object到events{}里面。2、事件发生的时候通过原创 2014-01-23 14:22:05 · 974 阅读 · 0 评论 -
node.js 调试工具 node-inspector
http://blog.nodeknockout.com/post/34843655876/debugging-with-node-inspectorDebugging with Node InspectorThis is the 10th in a series of posts leading up to Node.js Knockout on debugg转载 2014-01-22 17:15:36 · 760 阅读 · 0 评论 -
V8 JavaScript engine
既然玩node,那么多少要了解一下node的各种著名的项目,以及实现。比如正在看的pomelo和V8 engine。对于我这种半路js出家的,js的底子太烂了,所以有必要补缺补差!我目前的node是0.10.24版本,大概src目录下面有77个cc文件。lib下面有40多个js文件。工程不算大,可读。要是读这个最好还是能够有文档,sample神马的。那么就要到V8的老家去看看了原创 2014-01-23 09:51:02 · 594 阅读 · 0 评论 -
pomelo代码分析7———— pomelo的rpc实现分析
想哪写哪,前面的坑如果不大碍事,咱就不填了。嘿嘿~RPC:remote procedure call;是啥玩意就不说了。下面直接看pomelo的实现:对应module是pomelo-rpc,这个直接npm install可以就可以安装。比如: npm install -d pomelo-rpc,下载到当前目录的node_modules目录里面。安装完毕以后目录如原创 2014-01-23 17:29:20 · 1158 阅读 · 0 评论 -
pomelo代码分析系列1————介绍
前面学firefly的过程让我学到了很多知识,但是简单的掌握一个小server完全不够用,所以决定再吃几个。神马erlang,golang,mina,c++,node.js,都尽量了解了解。先学开源的,那么就Pomelo吧!pomelo,柚子,是网易(NetEasy)的一个基于Node.js的开源GameServer框架。我前面介绍过firefly,初步看pomelo的时候,第一感原创 2014-01-14 17:16:13 · 1347 阅读 · 0 评论 -
如何使用 nutcracker (twemproxy),python示例
关于nutcracker 也叫twemproxy,是twitter提供的memcache和radis的分片工具,有各种算法可以选择。具体 的介绍我就不说了,网上一大堆。至于使用,到很少很少。这里用python做个简单使用说明。1\ 首先,我这里就启动2个memcached。命令如下:memcached -d -m 100 -c 1000 -u roo原创 2014-01-09 16:04:50 · 1652 阅读 · 0 评论 -
Firefly游戏服务器学习笔记 4———— master 模块介绍
(模块的介绍方法都是先说大体功能,在捡一些细节详细讨论。) master 类很简单,就3个函数,一个init,设置配置信息,并调用masterapp,然后还有一个循环启动子进程的start函数。这里只有masterapp函数值得我们关注。代码如下:36 defmasterapp(self): 37 config = json.load(open(se原创 2014-01-06 22:48:41 · 2221 阅读 · 0 评论 -
Firefly游戏服务器学习笔记 2———— 准备工作
我看的firefly版本是 for 暗黑世界的, 服务器版本 1.6 ,客户端版本 1.4; 下载地址为: www.9miao.com ,官网里面找,需要铜板 J 。 客户端是用cocos2dx-V2.1.4实现,由于是分析server代码所以,client端我会在需要的时候简单提一下。不做重点。 服务端代码实际上分成2个部分,需要安装的firefly python库和直接运行原创 2014-01-06 22:44:40 · 1782 阅读 · 0 评论 -
Firefly游戏服务器学习笔记 8 ———— net模块
net顾名思义,就是网络模块,负责接受客户端的连接,处理客户端发送过来的数据,解包转发给其它模块。整个firefly系统里面,和用户打交道的也只有这个模块(admin和master虽然提供web操作接口,但是都是服务管理员的)。 我们前面提到,子模块的功能是由config.json来配置驱动的。那么我们看看这个模块的json文件定义了哪些功能。20 "servers": {原创 2014-01-08 11:59:40 · 1547 阅读 · 0 评论 -
Firefly游戏服务器学习笔记 5———— twisted Perspective Broker 透明代理
实际上这章压根不需要我来说,twisted官网的Doc里面有专门介绍的章节。写的非常详细。http://twistedmatrix.com/documents/current/core/howto/index.html 我只能肤浅的说说firefly里面对PB的运用。 首先firefly使用PB的目的是实现各个模块之间的通信,做到“分布式”,逻辑分离。 比如master原创 2014-01-06 22:50:03 · 2060 阅读 · 0 评论 -
firefly游戏服务器学习笔记 6———— db模块
前面介绍过master模块,现在我们看看dbfront模块,源码在firefly/dbentrust和app/defront 目录。顾名思义 entrust 就是数据库托管的意思。这个模块实现的功能就是负责从数据库读取数据,并且缓存到memcache。然后定期的检查缓存并写入更新到DB。 刚刚看到9秒论坛里面有篇文章介绍这个dbentrust库的左右。写的很详细。地址如下:原创 2014-01-07 17:31:55 · 1914 阅读 · 0 评论 -
Reactor and Proactor:介绍和比较
Articles | News | Weblogs | Buzz | Books | ForumsArticles | Discuss | Print | Email | First Page | Previous | NextSponsored Link •Comparing Two High转载 2014-01-09 14:23:05 · 579 阅读 · 0 评论 -
Firefly游戏服务器学习笔记 9 ———— game1模块
game1 囊括了几乎所有游戏逻辑,内容很多。但是多也只是app内容多, 前面的firefly框架启动流程没有什么差别。如果看官是一直看下来的,扫一眼代码就一目了然,这里不提。直接跳到app部分。 def loadModule(): """ """ load_config_data() #加载数据 registe_madmin() #注册几个表原创 2014-01-08 14:06:16 · 1409 阅读 · 0 评论 -
Firefly游戏服务器学习笔记 3———— firefly 的代码结构,逻辑
注:以下所有代码都是拿暗黑来举例,由于本人能力有限很多地方还没有看透彻,所以建议大家只是参考。有不对的地方非常欢迎指正。 一、结构 系统启动命令是,python statmaster.py,启动以后可以通过ps看到系统启动了以下几个进程:1、master:管理模块,通过subprocess.Popen()来启动其它模块,该模块启动一个webserver,简单的通过监听本机9原创 2014-01-06 22:47:15 · 2043 阅读 · 0 评论 -
pomelo代码分析8————pomelo-rpc client部分
前面一篇介绍过server,我们来看看对应的client部分。其实网上有前辈已经很详细的介绍过。我大致也看过,这里记录主要是为了整理自己思路吧,如果对各位看官偶尔能够有点帮助“感情那想必是挺好的!”至于调试环境请看我前面的node-inspector的转贴。事件编程好处是用起来很爽,只要关心相关的evnet就哦了。压根不用写多余的代码。但是看起来,调试起来就麻烦的多。原创 2014-01-26 14:50:36 · 985 阅读 · 0 评论