skynet 基础部分(二) sproto 通讯协议

sproto是skynet框架提供的一种简单通讯协议,类似于google protobuffers,但更利于lua使用。它支持字符串、二进制字符串、整数和布尔类型。sproto包含rpc方案,每个协议名对应唯一数字标签。消息发送时,需先打包再添加长度信息。skynet的Sproto Loader模块用于高效处理协议定义。通常通过特定方式获取消息处理器并构造发送函数,用于编码请求数据包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

在和客户端通讯时,需要制订一套通讯协议。 skynet 并没有规定任何通讯协议,所以你可以自由选择。
sproto 是一套由 skynet 自身提供的协议,并没有特别推荐使用,只是一个选项。sproto 有一个独立项目存在 。同时也复制了一份在 skynet 的源码库中。
它类似 google protobuffers ,但设计的更简单,也更利于 lua 使用。同时还提供了一套简单的 rpc 方案。

以上内容来自 sproto

简单来说,sproto是云风为skynet定制的通讯协议,它只支持四种数据类型:

  • string: 字符串
  • binary:二进制的字符串(它其实是string类型的子类)
  • integer:整数类型,最大长度为 signed 64bit,它可以是具有指定精度的定点数。
  • boolean:true或者false

使用起来其实也很简单,比如本项目的:
c2s.sproto

.package {
	type 0 : integer
	session 1 : integer
	ud 2 : string
}

.User {
	username 0 : string
	password 1 : string
	nickname 2 : string
}

ping 1 {
	response {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值