通过 UDP 解码 protobufs
Decode protobufs over UDP
我有一个通过 UDP 多播发送的 Protobuf 序列化数据。我使用 bash 的 socat 阅读它如下
socat UDP4-RECVFROM:1277,ip-add-membership=239.195.1.2:192.168.254.5,fork,reuseaddr -
我想将它与 protoc 链接起来,以便在每个数据包中保持解码数据。我怎样才能做到这一点 ?
当我这样做时
socat UDP4-RECVFROM:1277,ip-add-membership=239.195.1.2:192.168.254.5,fork,reuseaddr - | protoc --decode=proto.Message ./path/to/proto/message.proto
终端刚刚挂起。不确定如何进行。
原来是socat的问题。删除 fork
部分,效果很好。
基本上
socat UDP4-RECVFROM:1277,ip-add-membership=239.195.1.2:192.168.254.5,reuseaddr - | protoc --decode=proto.Message ./path/to/proto/message.proto
我有一个通过 UDP 多播发送的 Protobuf 序列化数据。我使用 bash 的 socat 阅读它如下
socat UDP4-RECVFROM:1277,ip-add-membership=239.195.1.2:192.168.254.5,fork,reuseaddr -
我想将它与 protoc 链接起来,以便在每个数据包中保持解码数据。我怎样才能做到这一点 ? 当我这样做时
socat UDP4-RECVFROM:1277,ip-add-membership=239.195.1.2:192.168.254.5,fork,reuseaddr - | protoc --decode=proto.Message ./path/to/proto/message.proto
终端刚刚挂起。不确定如何进行。
原来是socat的问题。删除 fork
部分,效果很好。
基本上
socat UDP4-RECVFROM:1277,ip-add-membership=239.195.1.2:192.168.254.5,reuseaddr - | protoc --decode=proto.Message ./path/to/proto/message.proto