- 博客(27)
- 资源 (13)
- 收藏
- 关注
原创 Erlang 异步accept
-module(myserver).-behaviour(gen_server).%%define-define(POLICY_PORT,8080). %%监听端口-record(state, {callback, sock, ref,disable_connect}).%%%gen_server callback-export([init/1, handle_call/3, h
2013-12-25 20:37:51 1979
转载 erlang与as3 socket解析
这个解析类是我现在项目中用到的一个as3与erlang sokcet通信的一个类。 解析出来的数据是数组。本想做成object的, 不过这得服务器那边配合. 服务器这边的工作量就会加大了, 因为每一个值都要加一个元素符这样才能构成object基本的组成元素。我们的做法是:服务端那边返回的数据,在协作平台上把数据元素列出来, 前端做开发就参考这个数据列表来做开发 。BertClass
2013-12-25 17:24:44 1481
转载 Erlang网络编程中的一个特别的函数prim_inet:async_accept/2
为了研究怎么用Erlang写一个游戏服务器,我很幸运的下到了一份英雄远征的服务器Erlang源码,这两天花了点时间看代码,其中看到做TCP的accept动作时,它是用的一个函数prim_inet:async_accept/2,这个可跟书上说的不一样(一般来说书上教的是用gen_tcp:accept/1),于是我google了一下,发现找不到文档,再翻一下发现已经有不少人问为什么这是
2013-12-25 17:18:21 8608 1
原创 Erlang 的错误日志
Erlang的错误日志相当方便.. 有自己带的 error_logger-module(slogger).-compile(export_all).start() -> filelib:ensure_dir("../log/"), error_logger:logfile({open, "../log/db_node.log"}). print_error() -> er
2013-12-23 16:43:21 1560
转载 Socket编程
1 使用TCP我们学习Socket编程的历险从一个从服务器获取TCP数据的程序开始。然后我们会写一个简单的串行TCP服务器展示如何并行的处理多个并发会话。1.1 从服务器获取数据我们先写一个小函数(标准库的 http:request(Url) 实现相同的功能,但是这里是演示TCP的)来看看TCP socket编程获取 http://www.google.co
2013-12-19 17:24:17 1359
转载 Erlang与ActionScript3采用JSON格式进行Socket通讯
server.erl Java代码 -module(server). -export([start/0,start/1,process/1]). -define(defPort, 8888). start() -> start(?defPort). start(Port) -> case gen_tcp:listen(
2013-12-19 16:38:32 1342
转载 erlang网络编程的几个性能调优和注意点
前些天给echo_server写了个非常简单的连接压力测试程序,代码 -module(stress_test). -export([start/0, tests/1]). start() -> tests(12345). tests(Port) -> io:format("starting~n"),
2013-12-19 16:33:10 1882
转载 Erlang入门(三)
所谓分布式的Erlang应用是运行在一系列Erlang节点组成的网络之上。这样的系统的性质与单一节点上的Erlang系统并没有什么不同。分布式这是个“大词”,Erlang从语言原生角度支持分布式编程,相比于java简单不少。一、分布式机制下列的BIFs是用于分布式编程:spawn(Node, Mod, Func, Args)启动远程节点的一个进程spawn_link(Nod
2013-12-19 16:28:05 1039
转载 Erlang入门(二)
Erlang中的process——进程是轻量级的,并且进程间无共享。查了很多资料,似乎没人说清楚轻量级进程算是什么概念,继续查找中。。。闲话不 提,进入并发编程的世界。本文算是学习笔记,也可以说是《Concurrent Programming in ERLANG》第五张的简略翻译。1.进程的创建 进程是一种自包含的、分隔的计算单元,并与其他进程并发运行在系统中,在进程间并没有一个继承
2013-12-19 16:27:11 976
转载 Erlang 入门(一)
1.数字类型,需要注意两点1)B#Val表示以B进制存储的数字Val,比如7> 2#101.5二进制存储的101就是10进制的5了2)$Char表示字符Char的ascii编码,比如$A表示652.比较难以翻译的概念——atom,可以理解成常量,它可以包含任何字符,以小写字母开头,如果不是以小写字母开头或者是字母之外的符号,需要用单引号包括起来,比如abc,'A
2013-12-19 16:26:14 1128 3
转载 python中如何调用shell 中OS.SYSTEM等方法
python调用shell命令的方法有许多1.1os.system(command)在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。这实际上是使用C标准库函数system()实现的。这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果。1.2os.popen(command,mode)打开
2013-12-19 15:59:55 2963
转载 页游那些事
页游么,无非:战争策略、模拟经营、社区养成、休闲竞技、角色扮演、社交游戏 等这几种常见类型。游戏画面又分为: 3D、2D、2.5D、纯网页、横版。战斗形式分为:即时、回合、战棋、文字、半即时、卡牌、自动。游戏题材分为:音乐、武侠、科幻、魔幻、动漫、历史、射击、体育、棋牌、竞速、商业、儿童、格斗、修真、航海、玄幻、仙侠。平台么:PC、iPhone、iPad、Andro
2013-12-19 15:56:21 1317
转载 AS3 开发页游的心得
开发游戏前的思考1、整理和积累一套基础框架(包含MVC、渲染引擎、通信、BUG处理等)2、团队协作a、部署服务器软件:SVN(版本控制)、Bugfree(问题处理)、Web服务器(外部资源和配置)b、指定相关的规范:代码、文档、协作3、与服务端沟通和协商交互方式,选择合适的通信模式(XML、JSON、AMF等)4、开发游戏基础功能,需要考虑项目的扩展性,以应对多变的策划方案
2013-12-19 15:50:27 2724
转载 AS3的一些压缩解压缩类库(AS3 ZIP、AS3 GZIP等等)
在现在开发的游戏中,由于战斗数据比较大,所以尝试对战斗数据进行压缩,然后输出到客户端flash端再解压。Google到一篇文章,对照翻译工具翻译一下 :)在我的一些项目中,经常需要对数据做一些转换操作,所以积累一些很有意思的用于数据压缩/解压缩的第三方类库。当然ByteArray类本身就带了数据压缩和解压缩的方法,可以用在flash player使用zlib算法和AIR程序使用多种算法
2013-12-19 15:47:06 2955
转载 FLASH内存管理-AS3的垃圾回收
GC和内存泄露无关垃圾回收,这次是一个被无数人讨论过的传统话题。Action Script使用的是和Java相似的内存管理机制,并不会即时回收废弃对象的内存,而是在特定时间统一执行一次GC(Gabage Collection)操作来释放废弃对象的内存,避免了重复判断是否需要回收产生的性能问题。但要注意,这只是决定回收的时机,而不是回收的内容。这个延迟执行内存回收也就是个表面的现象,
2013-12-19 15:42:37 2247
原创 AS3与PHP的交互
tokenLoader=new URLLoader();var request:URLRequest=new URLRequest("token.php");request.method=URLRequestMethod.POST;var urlVariables:URLVariables=new URLVariables(); urlVariables.platformkey =
2013-12-19 15:34:14 1815
转载 AS3的性能优化建议
10. 确定是性能问题而不是内存问题首先需要确定问题的来源。如果是因为引用素材或其他处理过程中大量耗费内存的操作用光了所有可用的RAM(内存),那CPU在请求获取数据的时候肯定会很慢。如果应用随着时间不断变慢,那可能是因为对象建立后忘记释放导致的内存泄露。只需要很简单的看下使用的内存量即可判断。Flash里面可以调用System.totalMemory来查看。或者直接在进程管理器里查看网页的占
2013-12-19 15:26:46 2091
转载 Flash 这些知识点你知道多少?
1.理解flash的显示列表 2.理解事件冒泡,理解鼠标事件等 3.理解flash的性能瓶颈和大多数影响性能的地方4.理解帧跑道模型,知道timer和enterFrame的关联和区别 5.理解RSL(runtime share lib)和loader的applactiondoamin以及多模块开发/运行的优势 6.理解反射,类定义,库链接定义7.理解常用数学公式8.理解
2013-12-19 15:15:14 1191
原创 erlang gen_fsm
自己写的简单的 gen_fsm有限状态机的小例子:-module(test_fsm).-export([start_link/0,stand/2,move/2,dead/2,stop/0]).-export([handle_stand/0,handle_move/0]).-behaviour(gen_fsm).%%-export([init/1,handle_info/3
2013-12-18 16:45:41 1622
原创 erlang 的 supervisor行为
-module(myserver).-behaviour(gen_server).%%define-define(POLICY_PORT,8080). %%监听端口-define(TCP_OPTION,[ binary, {packet,0}, {active,false}, {reuseaddr, true} ]).%% =====
2013-12-16 16:34:33 1300
原创 Erlang gen_server进程调用实例
刚才又重新 理解Gen_server才明白它的工作原理。handle_call : 是进程之间的调用.. 需要返回值gen_server完全写好一套消息框架,只需要实现它的功能函数既可。-module(test_A).-behaviour(gen_server).%%External exports-export([start_link/0,handleCall/1]).
2013-12-14 16:20:40 2127
原创 Erlang gen_tcp和gen_server结合应用
今天把 tcp和gen_server结合在一起使用。个人猜想:erlang的OTP模式,gen_server,handle_call处理代码逻辑,handle_info处理发给server的消息,模块内,提供接口函数,供外部调用 gen_server:call()..erlang进程通信用 !发送消息。 消息接收应该是在handle_info处接收。 (这些结论有待验证..只是猜想。)
2013-12-14 14:21:34 3637
原创 Erlang gen_server和ets简单应用
%%Author:Lee%%Desc:学生管理的小例子 %%gen_server-module(stuManager).%% gen_server callbacks-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).%% External expor
2013-12-12 17:42:53 1533
原创 Erlang ets表
-module(myets).%%-export([start/0]).-compile(export_all).%%ets:new(Name, Options) -> tid() | atom()%%默认是set类型start()-> ets:new(test,[named_table]), ets:insert(test,{a,1}), List = ets:tab2list
2013-12-12 14:28:57 1678
原创 Erlang gen_server的简单小例子
今天下午,花时间写了一下gen_server例子,自己对这个运转模式不是很理解,还没有细看它里面的实际代码,先会用吧...-module(my_server).-behaviour(gen_server).%%External exports-export([start_server/0,handle_test/1]).%% gen_server callbacks-expor
2013-12-11 16:28:47 2564
原创 Erlang简单gen_tcp例子
简单 client / server通信例子。前端:flash AS3后台:Erlangpackage{ import flash.display.Sprite; import flash.events.Event; import flash.events.IOErrorEvent; import flash.events.ProgressEvent; import fl...
2013-12-10 18:14:14 3224
原创 Erlang初级入门
%%Author:Lee%%最近工作比较清闲,在研究Erlang语言,正好在CSDN写博客记录下来 ,这门语言相关的文章和书籍还是比较偏少..%%不说废话了,赶紧先写第一篇erlang相关的文章吧..安装:我临时用的是 eclipse3.7 ..安装看这篇文章就可以:安装链接 ,自己就不写安装的步骤了,照着葫芦画瓢就行。———————————————————————
2013-12-10 16:31:19 1008
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人