游戏开发论坛

 找回密码
 ????
搜索
查看: 1964|回复: 2

web game server architecture

[复制链接]

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20505
发表于 2013-1-8 12:33:59 | 显示全部楼层 |阅读模式
作者:xtxy的专栏

1357473497_5694.png

黑色的线代表socket长连接,橙色的线代表socket短连接,蓝色的线代表数据处理流程

1客户端发送数据包到boost ASIO server,

2server先将包发送到preprocess模块处理;这个模块是和游戏逻辑关联的,比如模型协议的包可以直接丢弃,某些协议的包可以跳过php部分的处理等等;由于处理逻辑和游戏逻辑关联,所以采用动态链接库方式,以便逻辑更改之后服务器不用重启;

3大多数的数据包需要发送到php端处理,使用fastcgi协议发送到php-fpm,然后接收回包;此处是短连接,每次发送之前都建立连接,收到回包后断开连接;

4将php处理之后的包发送到postprocess模块处理;这个模块也是和游戏逻辑关联的,也是使用动态链接库方式;

5将数据包发送回到客户端;

其中黄色的方块代表一个session,一个session里面包含两个socket,一个是和客户端通讯的,一个是和php-fpm通讯的;

如果server到php端可以使用长连接的话,session里面的和php通讯的socket就可以去掉,改为一个线程一个socket,可以节省近一半的socket,不过尝试了很多次长连接都失败,于是放弃。

2

主题

23

帖子

92

积分

注册会员

Rank: 2

积分
92
发表于 2013-1-8 12:53:21 | 显示全部楼层
现在都转战页游了? 端游是真不行了么? 我端游都还没研究完呢, 纠结啊

4

主题

11

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2013-1-11 20:58:46 | 显示全部楼层
用php做服务器的越来越少了
您需要登录后才可以回帖 登录 | ????

本版积分规则

????|????|????|????|?????? ( ?ICP?17032699?-3 )

GMT+8, 2025-5-25 19:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表