cowboy 的 acceptor pool是通用的,而且说实话,acceptor pool的写法都那样,学习是可以的,但是没必要重复造轮子了.
记录一下 直接使用cowboy做底层socket设施:
把cowboy的依赖打上,我是用rebar的,deps上加上cowboy的git, 可以直接下载源码,放到自己项目中.
要使用很简单,启动cowboy listener 并指定 要回调的协议处理模块.
我就分了两个文件,dp_socket_service.erl dp_proto_handler.erl .
开始先介绍比较通用部分的写法,后面再加入flash沙箱策略文件的socket例子
dp_socket_service.erl 使用了gen_server ,目的只是启动了,cowboy listener
这里没有什么特别,下面开始写协议处理模块.
init([]) ->
cowboy:start_listener(dp_listener, 100,
cowboy_tcp_transport, [{port,88}],
dp_proto_handler,[]