ProtocolBuffer的简单使用
来源:互联网 发布:上海德比软件 编辑:程序博客网 时间:2024/06/05 22:40
ProtocolBuffer的简单使用
最近在利用Socket来实现直播APP中的数据的交互,刚开始是使用字符串来实现数据的传输,特别不方便,后面在某个地方了解到ProtocolBuffer这个框架能够使得数据传输面向对象化,便于传输和解析,于是记录一下ProtocolBuffer的简单使用。
首先在利用Homebrew在Mac上面安装这个环境,生成Swift代码
- 安装Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
出现如下界面,表示环境安装成功
- 安装protobuf
brew install protobuf
我这里是之前安装好了的
创建.proto文件,利用该文件生成对应的类库文件
- 创建Message.proto文件
syntax = "proto2";message UserInfo { // type = 0 required string name = 1; required string iconUrl = 2; required int64 level = 3;}message ChatMessage { // type = 1 required UserInfo userInfo = 1; required string chatText = 2;}message GiftMessage { // type = 2 required UserInfo userInfo = 1; required string giftName = 2; required string imgUrl = 3; required int64 imgCount = 4;}
2.进入Message.proto所在的文件位置,利用刚才安装的环境生成对应的Swift代码
protoc Message.proto --swift_out="./"
如图所示:
利用socket发送数据
let builder = UserInfo.Builder() builder.name = "张三" builder.iconUrl = "iconUrl" builder.level = 10 let data = (try! builder.build()).data() // 消息长度 var length = data.count let lengthData = Data.init(bytes: &length, count: 4) // 消息类型 var msgType = 0 let typeData = Data.init(bytes: &msgType, count: 2) let totleData = lengthData + typeData + data // 发送数据 tcpClient.send(data: totleData)
以上便是ProtocolBuffer的简单使用了,等多的数据结构的使用到这里去研究吧传送门
阅读全文
0 0
- ProtocolBuffer的简单使用
- Mac OS下安装ProtocolBuffer与iOS的简单使用
- Mac OS下安装ProtocolBuffer与iOS的简单使用
- mac os 下安装ProtocolBuffer与iOS的简单使用
- protocolBuffer使用
- ProtocolBuffer for objective-c的使用
- 分享iOS使用ProtocolBuffer的方法
- ProtocolBuffer ObjectiveC配置使用
- ProtocolBuffer和lzo技术Hadoop系统上的使用
- ProtocolBuffer和lzo技术Hadoop系统上的使用
- ProtocolBuffer和lzo技术Hadoop系统上的使用
- ProtocolBuffer和lzo技术Hadoop系统上的使用
- Google ProtocolBuffer(PB) 简介和实例2-Wire的使用
- 如何使用谷歌的protocolBuffer(for C++)
- 如何使用谷歌的protocolBuffer(for C++)
- ProtocolBuffer的.NET版本
- 基于Java的ProtocolBuffer
- ProtocolBuffer
- 二分图变种之最小路径覆盖、最小点覆盖集【poj3041】【poj2060】
- AE 复制合成
- aaaaaaaaaaaaaaaaaaaaaa
- 螺旋队列问题之c语言
- 概率论笔记---组合分析(续)
- ProtocolBuffer的简单使用
- win7系统如何打开dos窗口
- 我爱江山或过无过过过过过过
- 算法系列——Contains Duplicate
- Qt使用QSS
- POJ-1087 二分图匹配,最大流。
- Web服务器使用JSP来创建网页的步骤
- vi命令
- 『数据结构』RMQ 问题