GateServer 网关

本文介绍了Skynet框架下如何使用gateserver模板启动一个网关服务,处理TCP连接上的数据交换。gateserver负责将数据流切割成带长度信息的包,并提供了error、open、close和message等处理函数。文章详细讲解了netpack库的使用,包括数据包格式、打包和解包API,以及如何处理大尺寸数据。此外,还提供了service/gate.lua服务作为示例,演示了如何启动并控制网关监听端口。
摘要由CSDN通过智能技术生成

skynet提供了一个通用模板lualib/snax/gateserver.lua来启动一个网关服务器,通过TCP连接和客户端交换数据.


TCP 基于数据流,但一般我们需要以带长度信息的数据包的结构来做数据交换,gateserver做的就是这个工作,把数据流切割成包的心事转发到可以处理它的地址


用法

ocal gateserver = require "snax.gateserver"

local handler = {}

-- register handlers here

gateserver.start(handler)

这样就可以启动一个网关服务,handler是一组自定义的消息处理函数,分别有:

function handler.connect(fd, ipaddr)
当一个新连接建立后,connect方法被调用,传入连接的socket fd 和新连接的ip地址(通常用于log输出)


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值