KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 1493|回复: 7

kbe的rpc未来会不会考虑支持协程方式,大幅降低逻辑复杂度

[复制链接]

7

主题

16

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 2016-11-7 17:12:24 | 显示全部楼层 |阅读模式
如果要支持的话,底层改动应该不小
回复

使用道具 举报

8

主题

3374

帖子

7586

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7586
QQ
发表于 2016-11-7 17:36:27 | 显示全部楼层
python就支持协程, 你想用你可以自己升级一下python版本。
柯标
3603661@qq.com
回复

使用道具 举报

7

主题

16

帖子

87

积分

注册会员

Rank: 2

积分
87
 楼主| 发表于 2016-11-7 17:59:33 | 显示全部楼层
本帖最后由 bowdar 于 2016-11-8 09:10 编辑

我理解不知道对不对
这是只在能用python的协程功能吧,看了论坛上其他人用的方式,协程主循环还要用timer自己驱动
而且keb的rpc网络通讯本身是异步的,在本身异步完善的框架里面用额外的协程,很别扭

我想如果网络部分用csp模型的协程式rpc会让写游戏逻辑的代码简洁上一个台阶,也不影响性能,甚至可能更高。
这样kbe原先的所有rpc 函数都可以带返回了,mailbox 的调用直接原地等待,上下文都不用切换
因为我用kbe做一个游戏项目有段时间了,就还不知道能否实现这样的目的
回复

使用道具 举报

8

主题

3374

帖子

7586

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7586
QQ
发表于 2016-11-7 18:23:31 | 显示全部楼层
bowdar 发表于 2016-11-7 17:59
我理解不知道对不对
这是只在能用python的协程功能吧,看了论坛上其他人用的方式,协程主循环还要用timer自 ...

协程确实有一些好处, 但肯定也有坏处,任何东西都是双刃剑。

是否底层需要直接支持协程, 目前还需要观察。
至少业内有一些超大型(起码是mmorpg,逻辑嵌套很深的游戏)的游戏服务器开始使用这种技术并得到验证结果才可以去尝试支持。
柯标
3603661@qq.com
回复

使用道具 举报

3

主题

10

帖子

37

积分

新手上路

Rank: 1

积分
37
发表于 2016-11-7 21:17:59 | 显示全部楼层
据说微信后台是c写的协程搞的。还开源了。叫libco。游戏的应用指日可待呀。。。
回复

使用道具 举报

30

主题

7138

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
16457
QQ
发表于 2016-11-7 21:55:03 | 显示全部楼层
应用的逻辑不一定深,再多的人和量可以水平均衡,而且要看是局部使用还是无限制大量使用。
热爱游戏、热爱开源!
柯标
3603661@qq.com

柯标
3603661@qq.com
回复

使用道具 举报

7

主题

16

帖子

87

积分

注册会员

Rank: 2

积分
87
 楼主| 发表于 2016-11-8 09:23:33 | 显示全部楼层
hahamj 发表于 2016-11-7 21:17
据说微信后台是c写的协程搞的。还开源了。叫libco。游戏的应用指日可待呀。。。 ...

开源的C/C++携程库很多,libco是一个,还有tbox、acl、libgo、libtask、libmill等等,还有boost的coroutine fiber,都是stackful的
libco在其中都是没什么优势,然而腾讯的游戏服务器框架pebble都用的这个
回复

使用道具 举报

31

主题

77

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
发表于 2018-9-14 14:33:43 | 显示全部楼层
这个是必要操作,我早加上了,带callback的rpc
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2018-12-11 16:49 , Processed in 0.035309 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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