使用 acl 服务器框架编写监听多个地址的服务器程序
?
? ? ? 上面代码逻辑很简单地演示了 acl 服务器框架支持监听多个地址的用处。为了支持不同的业务功能分流,应用可以在 thread_on_accept 阶段通过 socket_stream::set_ctx(void*) 设置不同的功能对象,在 thread_on_read 阶段通过 socket_stream::get_ctx() 取出设置的对象,通过对对象的功能判断进行业务功能分流。
? ? ? ?当然,还有一点不要忘记,还得需要修改该服务器的配置文件,将 master_service 的监听地址改成多个地址,如:127.0.0.1:8088, 192.168.166.162:8080 ?即:master_service = 127.0.0.1:8088, 192.168.166.162:8080,同时需要将 master_type 值改为 sock,即:master_type = sock。
? ? ? ?此外,为了在独立方式下测试服务器程序,可以打开 main.cpp 文件,将其中的 addr 的值设为 "127.0.0.1:8088, 192.168.166.162:8080" 即可。
参考:
acl 库下载:https://sourceforge.net/projects/acl/
svn:?svn://svn.code.sf.net/p/acl/code/
QQ 群:242722074
使用 acl 生成向导快速创建服务器程序
使用 acl::master_threads 类编写多进程多线程服务器程序
acl 服务器模块的部署
? ? ??