我有一个通过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
终端刚刚挂起。不确定如何继续。
答案 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