1 Star 0 Fork 108

苏州第八灵感网络科技有限公司 / fooking

forked from 呵大官人 / fooking 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

fooking是一个分布式网关服务器,主要用于承载客户端连接,将客户端请求转发到后端逻辑服务器,然后把逻辑服务器返回的结果转发到客户端.
他类似Nginx,使用Nginx + FastCGI Server(如:FPM, etc..)构建Web服务器,同时可以使用Fooking + FastCGI Server(如:FPM, etc..)构建Socket服务器.

特性

1 动态网关添加.
2 每个客户端唯一SessionID.
3 组播(类似redis的pub/sub).
4 服务器状态监控.
5 客户端事件通知(如:新连接、关闭连接).
6 后端无语言限制(php, python, go, nodejs, etc...).
7 自定义消息协议.
8 后端长连接维持.

客户端协议

这个是指客户端与fooking的通信协议,默认4字节数据大小(大端模式)和数据,同时你还可以使用Lua自定义协议。

后端协议

这是指fooking与后端逻辑服务器通信协议,这个使用FastCGI协议,后端可以使用任何语言来创建FastCGI服务器.
这个协议非常简单,详见协议说明: http://www.fastcgi.com/drupal/node/6?q=node/22

使用说明

下面展示了fooking的使用,用例是聊天室,源代码位于example/chat目录下

  • 第一步(下载和编译)
    git clone https://github.com/scgywx/fooking.git
    cd {$FOOKING_PATH}
    make
  • 第二步(启动Router)
    cd src
    ./fooking ../router.lua
  • 第三步(启动Gateway)
    ./fooking ../config.lua
  • 第四步(启动FastCGI服务器, 如:fpm) service php-fpm start(如果已经启动,请忽略此步骤)
  • 第五步(测试) 修改example/chat/index.html文件的Websocket的服务器IP和端口(查找ws://)
    然后用浏览器打开index.html即可

架构图

image

空文件

简介

分布式网关服务器(php游戏网关, php游戏服务端, fastcgi) 展开 收起
C++
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/goods_project/fooking.git
git@gitee.com:goods_project/fooking.git
goods_project
fooking
fooking
master

搜索帮助

14c37bed 8189591 565d56ea 8189591