【skynet】skynet 服务间通信

本文围绕skynet服务展开,介绍其高效通信API并给出简单示例。先说明需有编译好且正常工作的skynet,接着阐述编写代码的步骤,如在不同目录添加服务、做模块封装和配置等。最后总结skynet将请求和创建服务封装,使请求类似普通函数调用。

写在前面

skynet 服务之间有自己的一套高效通信 API 。本文给出简单的示例。


准备工作

首先要有一个编译好,而且工作正常的 skynet 。

编写代码

  • 在 skynet/service 添加一个 calc 服务

    local skynet = require "skynet"
    
    local HANDLE = {
         
         }
    
    -- 处理加法
    function HANDLE.add(...)
        local res = 0
        for i, v in ipairs{
         
         ...} do
            res = res + v
        end
        return res
    end
    
    -- 处理减法
    function HANDLE.sub(lhs, rhs)
        local res = lhs - rhs
        skynet.error(lhs .. " - " .. rhs .. " = " .. res)
    end
    
    -- 处理 lua 消息
    local function lua_dispatch(session, source, cmd, ...)
        local f = assert
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值