V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
chrislon
V2EX  ›  Go 编程语言

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

  •  
  •   chrislon · 2017-08-04 14:19:45 +08:00 · 4455 次点击
    这是一个创建于 2670 天前的主题,其中的信息可能已经有所发展或是发生改变。

    地址: 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-08-04 15:37:23 +08:00
    您好,能加您一下吗?
    jevirs
        2
    jevirs  
       2017-08-04 16:32:19 +08:00
    rumpetroll 那个怎么找不到那个可以钻的,。。大大的球?
    chrislon
        3
    chrislon  
    OP
       2017-08-04 16:34:14 +08:00
    @annihaha QQ251667921
    chrislon
        4
    chrislon  
    OP
       2017-08-04 16:34:31 +08:00
    @jevirs 你说原版, 还是我哪个 demo 呢?
    HaoC12
        5
    HaoC12  
       2017-08-04 20:17:24 +08:00
    666
    markx
        6
    markx  
       2017-08-04 22:12:18 +08:00
    很厉害的样子!
    cwing
        7
    cwing  
       2017-08-04 22:16:35 +08:00
    辣么多人写框架,有成功项目了吗
    chrislon
        8
    chrislon  
    OP
       2017-08-04 22:22:11 +08:00 via Android
    @cwing 提取了上一个上线项目可取的一部分拿出的。
    boboliu
        9
    boboliu  
       2017-08-04 22:37:26 +08:00
    就不怕突然 stop-the-world 么。。。
    hhjj3388
        10
    hhjj3388  
       2017-08-04 22:48:23 +08:00
    @boboliu 你是来搞笑的吗
    chrislon
        11
    chrislon  
    OP
       2017-08-04 22:54:47 +08:00
    @boboliu 哈哈哈,还停留在这个认知阶段
    ipconfiger
        12
    ipconfiger  
       2017-08-04 23:13:48 +08:00
    能加载 Lua 脚本不? 如果不能用 Lua 脚本写逻辑, 那么怎么把这些琐碎的东西交给数值策划呢? 你招不到用 Go 的数值策划, 那你的游戏成本怎么控制?
    chrislon
        13
    chrislon  
    OP
       2017-08-05 07:52:34 +08:00 via Android
    @ipconfiger 其实并不难,可以用 golua,把需要 Lua 的一部分模块封装成一个 component,handler 里面把请求转到 Lua 层
    chrislon
        14
    chrislon  
    OP
       2017-08-05 08:19:49 +08:00
    @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-08-05 09:22:12 +08:00
    @hhjj3388 是的

    @chrislon 额抱歉在下还比较新手。。。有什么理解不到位的情况,还请大佬多多包涵
    owt5008137
        16
    owt5008137  
       2017-08-05 19:37:42 +08:00 via Android
    https://github.com/atframework/atsf4g-co
    那我也来安利一波 cxx 写得游戏服务器框架。平行扩容,单线程百万级 QPS
    lizhenda
        17
    lizhenda  
       2017-08-05 19:46:54 +08:00
    和自己裸写的有啥商业化区别呢,主要觉得自己从 0 写好像也不那么难,go 已经都这么屌了
    chrislon
        18
    chrislon  
    OP
       2017-08-05 22:01:02 +08:00
    @lizhenda 商业化是什么意思?
    chrislon
        19
    chrislon  
    OP
       2017-08-05 22:01:22 +08:00
    @owt5008137 多少客户端并发呢?
    qile1
        20
    qile1  
       2017-08-05 23:40:17 +08:00 via Android
    有没有可以 1 弄斗地主或者麻将的 1 框架
    chrislon
        21
    chrislon  
    OP
       2017-08-06 08:59:54 +08:00
    @qile1 我自己到是用这个写了一套川麻/一套湖北卡五星的服务器,但是又不能开源。
    chenhui7373
        22
    chenhui7373  
       2017-08-06 09:35:02 +08:00
    @boboliu 新版已经减轻好多了把,go 写工程真正问题好像不在于此。
    chrislon
        23
    chrislon  
    OP
       2017-08-06 13:16:55 +08:00 via Android
    @chenhui7373 恩,是的
    qile1
        24
    qile1  
       2017-08-06 22:09:38 +08:00 via Android
    那可以利用它的实时通信控制其他程序进行操作不?比如发送打开命令,它立即下载一个文件并打开一个程序,我 1 想用它写个心电系统
    另外如果是推广,建议开源一个小的扑克程序或者简单的网络游戏教程,这样会有好多人去学习的,至于麻将程序复杂也麻烦些,不适合教程,你要开源了,各地麻将程序没法卖了
    chrislon
        25
    chrislon  
    OP
       2017-08-07 06:44:23 +08:00 via Android
    @qile1 有一个聊天的 demo,合适入门,你说这个也可以做
    mikejinhua
        26
    mikejinhua  
       2017-08-07 15:34:38 +08:00   ❤️ 1
    大家去看作者 github 头像,包你满意。:-)
    ziming2018
        27
    ziming2018  
       2017-08-07 19:56:24 +08:00
    github 头像是你本人?
    mentalidade
        28
    mentalidade  
       2017-08-11 13:48:53 +08:00
    @mikejinhua 这头像
    wencan
        29
    wencan  
       2017-08-12 13:31:50 +08:00
    帮加星
    chrislon
        30
    chrislon  
    OP
       2017-08-14 14:21:20 +08:00
    Yoock
        31
    Yoock  
       2017-08-14 15:40:12 +08:00
    已加星🌟
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3260 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:56 · PVG 20:56 · LAX 04:56 · JFK 07:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.