我正在通过 Windows 命名管道将(协议缓冲区)序列化消息从 java 应用程序发送到 .net c# 应用程序。
我已经为这两种环境编译了一个 .proto 文件。在 c# 方面,我使用 protobuf-csharp-port。
我打算在流上使用以长度为前缀的包。
在c#端读取messageLength后,我使用CodedInputStream.pushLimit(messageLength)。然后我想在这样的循环中使用 cis.getBytesUntilLimit() 检索实际消息:
do
{
builder.mergeFrom(cis);
} while (cis.getBytesUntilLimit() > 0);
但不幸的是,我在 protobuf-csharp-port 中找不到方法 getBytesUntilLimit()。
问题:protobuf-csharp-port 中是否存在 getBytesUntilLimit()?protobuf-csharp-port 是否忠实地在 .net 中实现了 Google 的所有 JAVA API(或至少等效的)?
谢谢你。