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输出)