网游服务端技术总结 四

game server内嵌的http服务

如何使gs响应http的请求? 基本思路 实现简单的http server框架、具体游戏逻辑转发给内部handler来处理

一 初始化
  开启监听线程(协程)检查端口、设置缓冲区大小
  每一个socket连过来时 1、开新协程处理(有调度开销)  2、放入共享队列中,由worker线程池共同维护(有数据同步的问题)
  设置每个请求URI对应的回调接口

二 服务期
  1、一个socket数据到来后,开新线程,解析http数据,分析出请求的uri、回调、关闭socket、关闭线程(因为http是无连接的)
  2、一个socket到来时,其被放入某个thread内部的sockets数组中,
    当此worker thread池被调度到之后,依次处理每个socket的数据就可以了(唯一区别是多个sockets由几个线程维护)

猜你喜欢

转载自eric-weitm.iteye.com/blog/1457617