通过UDP解码协议

时间:2020-08-25 21:21:03

标签: protocol-buffers grpc protoc

我有一个通过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

终端刚刚挂起。不确定如何继续。

1 个答案:

答案 0 :(得分:0)

问题原来出在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