微信小程序支持 protobuf 吗?
发布于 5 年前 作者 chao86 2977 次浏览 来自 问答

如果微信小程序支持 google protobuf 的话 有没有 demo 参考。

原来项目中一直在用google protobuf,如果能够支持将会节约大量时间。

10 回复

@吴剑波  真的吗? 我试试看。

https://github.com/Zhang19910325/protoBufferForWechat, 使用这个库,我在websocket上使用protobuff成功了

感谢同步!

有没有大佬遇到这样的问题:mqtt在发布 protobuf格式数据时发现,一发布websocket就断开

究竟现在小程序官方是否支持protobuf的?

真机上还要手动转换下,判断不是模拟器,再封装一遍,微信那边有bug。。。

  const message = Hello2Server.create(msg)
const encodedMessage = Hello2Server.encode(message).finish()
console.log(`hello:`, encodedMessage)
let newMsg = encodedMessage
 if (sysInfo.platform !== 'devtools') {
newMsg = new Uint8Array([...encodedMessage]).buffer
}
console.log('newMsg:', newMsg)
wx.sendSocketMessage({
data: newMsg
 })

不过我也遇到问题了,模拟器上没有任何问题,真机上发送,服务器好像没收到,在查原因

目前小程序用protoBufferForWechat,服务器用google protobuf。小程序通过websocket发unit8Array给服务器可以解析,但服务器发给小程序的ArrayBuffer转成unit8Array后, 报解析错误,那位同学遇到过?有解决吗?

大佬,能把pb库合成 一个js文件吗?在小程序开发工具上webpb 文件可以识别,发布体验版就识别不了

不过可以考虑转成 base64 发送,protobuf-js 其实是可以运行的。

回到顶部