安利一下我的 golang 游戏服务器框架, 高效, 轻量, 简单 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
chrislon
V2EX    Go 编程语言

安利一下我的 golag 游戏服务器框架, 高效, 轻量, 简单

  •  
  •   chrislon 2017 年 8 月 4 日 5152 次点击
    这是一个创建于 3124 天前的主题,其中的信息可能已经有所发展或是发生改变。

    地址: https://github.com/lonnng/nano

    有两个 Demo

    1. 100 行实现的一个 web 的聊天室 https://github.com/lonnng/nano/tree/master/examples/demo/chat
    2. 一个小蝌蚪的 Web 应用 https://github.com/lonnng/nano/tree/master/examples/demo/tadpole

    第二个照抄 http://rumpetroll.com/, 可以先玩一下

    31 条回复    2017-08-14 15:40:12 +08:00
    annihaha
        1
    annihaha  
       2017 年 8 月 4 日
    您好,能加您一下吗?
    jevirs
        2
    jevirs  
       2017 年 8 月 4 日
    rumpetroll 那个怎么找不到那个可以钻的,。。大大的球?
    chrislon
        3
    chrislon  
    OP
       2017 年 8 月 4 日
    @annihaha QQ251667921
    chrislon
        4
    chrislon  
    OP
       2017 年 8 月 4 日
    @jevirs 你说原版, 还是我哪个 demo 呢?
    HaoC12
        5
    HaoC12  
       2017 年 8 月 4 日
    666
    markx
        6
    markx  
       2017 年 8 月 4 日
    很厉害的样子!
    cwing
        7
    cwing  
       2017 年 8 月 4 日
    辣么多人写框架,有成功项目了吗
    chrislon
        8
    chrislon  
    OP
       2017 年 8 月 4 日 via Android
    @cwing 提取了上一个上线项目可取的一部分拿出的。
    boboliu
        9
    boboliu  
       2017 年 8 月 4 日
    就不怕突然 stop-the-world 么。。。
    hhjj3388
        10
    hhjj3388  
       2017 年 8 月 4 日
    @boboliu 你是来搞笑的吗
    chrislon
        11
    chrislon  
    OP
       2017 年 8 月 4 日
    @boboliu 哈哈哈,还停留在这个认知阶段
    ipconfiger
        12
    ipconfiger  
       2017 年 8 月 4 日
    能加载 Lua 脚本不? 如果不能用 Lua 脚本写逻辑, 那么怎么把这些琐碎的东西交给数值策划呢? 你招不到用 Go 的数值策划, 那你的游戏成本怎么控制?
    chrislon
        13
    chrislon  
    OP
       2017 年 8 月 5 日 via Android
    @ipconfiger 其实并不难,可以用 golua,把需要 Lua 的一部分模块封装成一个 component,handler 里面把请求转到 Lua 层
    chrislon
        14
    chrislon  
    OP
       2017 年 8 月 5 日
    @ipconfiger
    type LuaHandler struct {
    vm *lua.State
    }

    func (h *LuaHandler) Init(){
    h.vm = lua.NewState()
    }

    func (h *LuaHandler) AfterInit(){
    h.vm.LoadScripts()
    }

    func (h *LuaHandler) LogicProcessorA(session *session.Session, message *pb.MessageA) error {
    return h.vm.Execute("logicA", session, message)
    }

    func (h *LuaHandler) LogicProcessorB(session *session.Session, message *pb.MessageB) error {
    return h.vm.Execute("logicB", session, message)
    }

    =======
    上门的代码不能运行,但是大概是这么一个流程
    boboliu
        15
    boboliu  
       2017 年 8 月 5 日
    @hhjj3388 是的

    @chrislon 额抱歉在下还比较新手。。。有什么理解不到位的情况,还请大佬多多包涵
    owt5008137
        16
    owt5008137  
       2017 年 8 月 5 日 via Android
    https://github.com/atframework/atsf4g-co
    那我也来安利一波 cxx 写得游戏服务器框架。平行扩容,单线程百万级 QPS
    lizhenda
        17
    lizhenda  
       2017 年 8 月 5 日
    和自己裸写的有啥商业化区别呢,主要觉得自己从 0 写好像也不那么难,go 已经都这么了
    chrislon
        18
    chrislon  
    OP
       2017 年 8 月 5 日
    @lizhenda 商业化是什么意思?
    chrislon
        19
    chrislon  
    OP
       2017 年 8 月 5 日
    @owt5008137 多少客户端并发呢?
    qile1
        20
    qile1  
       2017 年 8 月 5 日 via Android
    有没有可以 1 弄斗地主或者麻将的 1 框架
    chrislon
        21
    chrislon  
    OP
       2017 年 8 月 6 日
    @qile1 我自己到是用这个写了一套川麻/一套湖北卡五星的服务器,但是又不能开源。
    chenhui7373
        22
    chenhui7373  
       2017 年 8 月 6 日
    @boboliu 新版已经减轻好多了把,go 写工程真正问题好像不在于此。
    chrislon
        23
    chrislon  
    OP
       2017 年 8 月 6 日 via Android
    @chenhui7373 恩,是的
    qile1
        24
    qile1  
       2017 年 8 月 6 日 via Android
    那可以利用它的实时通信控制其他程序进行操作不?比如发送打开命令,它立即下载一个文件并打开一个程序,我 1 想用它写个心电系统
    另外如果是推广,建议开源一个小的扑克程序或者简单的网络游戏教程,这样会有好多人去学习的,至于麻将程序复杂也麻烦些,不适合教程,你要开源了,各地麻将程序没法卖了
    chrislon
        25
    chrislon  
    OP
       2017 年 8 月 7 日 via Android
    @qile1 有一个聊天的 demo,合适入门,你说这个也可以做
    mikejinhua
        26
    mikejinhua  
       2017 年 8 月 7 日   1
    大家去看作者 github 头像,包你满意。:-)
    ziming2018
        27
    ziming2018  
       2017 年 8 月 7 日
    github 头像是你本人?
    mentalidade
        28
    mentalidade  
       2017 年 8 月 11 日
    @mikejinhua 这头像
    wencan
        29
    wencan  
       2017 年 8 月 12 日
    帮加星
    chrislon
        30
    chrislon  
    OP
       2017 年 8 月 14 日
    Yoock
        31
    Yoock  
       2017 年 8 月 14 日
    已加星
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     749 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 23:08 PVG 07:08 LAX 15:08 JFK 18:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86