Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
my repos fro erlang test code .
Erlang Lua Perl Other
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
benchmark
benchmark_random
bin_to_hex
chat
dialyzer
distributed_application
emysql-test
erlang_c
erlcount
erlcount_java
erlcount_release
ets_test
eunit
extend_test
fsm
game_demo
gen_server_2
gen_server_concurrent_test
gen_server_test
gls
group_leader_io
io
log_event
lr
memcached
mnesia
mochiglobal_ets_benchmark
mochiweb
mochiweb_comet_chat timeout
mochiweb_test
monitor_link_trap_exit
msg
nif_hello
parameter_module_test
pmake
pmap
port
ppool-1.1
ppool
record_field
release_handle
reminder
sup
sys_proc_lib
tcp
time
type
udp_test
.gitignore
Makefile
bubble_sort.erl
dirlib.erl
json.erl
kitty.erl
macro.erl
qsort.erl
readme.org
robust_server.tgz
spawn_test.erl
tcp_demo.erl
time_statistics.erl
udp_test.erl
util.erl
uuid.erl

readme.org

chat 目录为一聊天程序雏形(模仿irc协议)

使用的技术mnesia gen_tcp 及对binary 的处理.

采用二进制数据作为消息格式 server 与client 同时使用 {packet ,4}作为参数,故省去了消息的截取与组装,关于 packet 参数,详见:server.erl 注释 而具体的消息格式为 [4字节消息类型,具体的消息体] 比如echo 消息格式为<1:32,Msg/binary> 用一个4字节的int 表示此消息的的类型。

ppool 是一个进程池

用到了 supervisor (simple_one_for_one one_for_one one_for_all) supervisor:start_child %%一个ppool_super是一个pool, 而ppool_super的父节点是ppool_supersuper %% 即此程序中可以存在多个pool ,一个 pool 的死活与另一个pool 不相干 , %%故在ppool_supersuper中使用one_for_one 启动ppool_super. %%而ppool_super的两个子节点,ppool_worker_sup与ppool_serv却是同生共死才能完成一个 %% pool 的功能 。 %%故ppool_worker_sup与ppool_serv 进行关联启动, 可以理解了。

erlcount erlcount_java erlcount_release

分别是用来统计某目录下erl文件中出现某种正则表达示的数目,并用java写了一版 以 便进行对比 . 用到了OTP的Psupervisor,还用到了上一个例程ppool 正则表达式在erlcount.app文件 中指定

可以通过这种方式来覆盖appname.app 中env 变量的值。 erl -AppName key1 value1 key2 value2 如 : erl -erlcount directory ‘.’ regex ‘[“if”,”case”]’ max_files application:start(ppool). application:start(erlcount).

mochiweb_comet_chat

使用了mochiweb 是一个网页版即时聊天系统的原理代码(Comet ,long pull技术),据说faceboot 的网上 聊天系统使用的是mochiweb erlang 中文 gbk utf8 等 编码 http://code.google.com/p/erlang-mbcs/

Something went wrong with that request. Please try again.