我正在使用'protobuf'为使用TCP的C/S网络程序打包数据。
以下是客户端的步骤:
1. 将数据封装到“protobuf”中
2. 获取打包的字节数并构造长度前缀帧
3. 将帧+打包数据写入套接字
服务器的步骤如下:
1. 从套接字读取长度前缀帧并获取长度 N
2. 从套接字读取 N 字节并将数据填充到 protobuf 实例中
3. 通过“key”从 protobuf 中获取“value”
我认为这似乎有点复杂,是否有一种自动生成长度前缀帧的方法,这样我就不需要手动构造了。还有其他可以使代码更简洁的方法吗?