首页 文章
  • 6 votes
     answers
     views

    protobuf-net字节数上的OverwriteList

    我正在做的是尝试通过protobuf-net发送IPEndpoint,我观察到的是,当将4字节数组反序列化为IP4地址时,设置代码接收8字节的值 . 包含orignal地址的四个字节,以及包含序列化地址的另外4个字节 . 通过逐步执行代码,我已经能够确认在调用Deserialize时,它首先读取字节,然后设置它们的字节 . 在做了一些阅读后,我了解了OverwriteList,并且如下例所示,我已...
  • 3 votes
     answers
     views

    protobuf-net与C通信

    我正在寻找protobuf-net来实现各种消息传递格式,我特别喜欢基于 Contract 的方法,因为我不必乱用原型编译器 . 我无法找到有关信息的一件事是,这是否难以跨平台工作?有一些C应用程序需要能够解析PB数据,虽然我知道protobuf-net序列化为PB标准格式,如果我使用 Contract 方法而不是原型文件,C端如何解析数据? 可以(应该?)我为(很少)C需要理解数据的情况写一个单...
  • 1 votes
     answers
     views

    protobuf-net - 反引号,词典和.proto文件

    我正在尝试与使用http://code.google.com/p/metasyntactic/wiki/ProtocolBuffers的iphone使用protobuf-net的C#程序对话 不幸的是,我给出的.proto文件(从C#源代码生成)包含一个protoc拒绝的行: repeated Pair_Guid_List`1 Local = 6; 看来这是因为源数据是C#字典,带有Guid键和...
  • 1 votes
     answers
     views

    Protobuf-net中的OverFlowException和EndOfStreamException

    我一直在阅读有关protobuf-net的内容,这太棒了! 一般来说,它完美无缺 . 但我遇到了一些问题 . 我正在尝试用protobuf在Python和C#之间编写通信代码 . .proto下面是: message GetAllCalculate{ required string agentID=1; } message CalculateInfo{ required stri...
  • 6 votes
     answers
     views

    protobuf-net进入.proto会产生枚举冲突吗?

    在C#中,我们在.proto中有命名空间,我们从protobuf-net获得,我们没有得到任何命名空间 . 所以问题是如何使用namespacs / packages生成protobuf-net生成(并使用内部).proto文件 . 例如,当我们解析所有项目以生成.proto文件以将C应用程序连接到我们的C#应用程序时,我们得到了很多 enum AnimationCode { None = ...
  • 8 votes
     answers
     views

    Protobuf-net与官方谷歌Protobuf for C(消息编码)不兼容

    我们在.NET中有一些(很多)类 . 我们使用protobuf-net标记它们,并通过google original library生成C代码侧的.proto包装器 . 所以我在一些EventBase类上有一条消息(C DebugString()(在.NET EventCharacterMoved 中继承 EventBase ,而在C中我只是写入可选属性)): UserId: -2792 Eve...
  • 2 votes
     answers
     views

    当protobuf-net从.proto文件转到.cs文件时,它是否支持Dictionary? (通过protogen.exe)

    在使用protobuf-net的C#中,我想将我的protobuf定义保存在.proto文件中 . (它用于生成其他语言的代码,......) 我知道Google的protoc实现不会在Java生成的代码中生成任何Map . 但是,由于protobuf-net支持字典,如果我从.cs文件生成.proto,我想知道它是否也支持它们从.proto到.cs文件 . 例如,在我的.proto文件中: m...
  • 2 votes
     answers
     views

    Proto 3:继承格式消息

    我正在编写一个通用SDK,我计划使用Protobuf(由于它的优点) . 我会有一个通用标头消息,如下所示 class Header { string Id; Datetime Timestamp; string ProcessName; //This is the Process in my server string SessionID; } 理想情况下,此消息将由应用程序消...
  • 1 votes
     answers
     views

    从c#到python和其他语言的protobuf-net或协议缓冲服务

    我最近一直在关注protobuf-net和协议缓冲区,到目前为止它似乎令人印象深刻 . 我所想知道的是服务方面的事情 . 如果我已经理解了谷歌文档,你可以在.proto文件中声明服务 . 我的问题是 这个服务支持是在protobuf-net还是其他dotnet protobuf lib中实现的? 服务支持是否完全跨语言,如协议缓冲区本身是什么? 根据.proto文件中声明的声明,在另一...
  • 1 votes
     answers
     views

    使用Google协议缓冲区和Protobuf-C从C到C#传输双重属性的问题#

    我试图通过QPID(一个消息传递系统)将对象作为序列化字符串从C语言发送到C# . 我目前有一个Google原型文件: package Serializable; message Order_ser { optional int32 openord = 1 [default = 0]; optional int32 oldord = 2 [default = 0]; ...
  • 1 votes
     answers
     views

    nuget - 从已安装的包中引用特定的框架版本?

    这个场景有点反对nuget工作的方式,所以我可能要求的是一个黑客...... 我的问题: 我需要在.net程序集中引用Restsharp和Protobuf-net进入Server 2008的SQL-CLR(所以max .net 3.5,framework 2.0) . Restsharp作为支持最低的fwk版本返回到3.5 . Protobuf-net 3.5以后有很多gunk引用system.s...
  • 7 votes
     answers
     views

    如何使用protobuf-net处理.proto文件

    我已经开始使用protobuf-net lib来进行我正在维护的一些程序之间的通信 . 我也能够将C#中的消息解码为Ruby . 我的ruby ProtoBuf lib使用.proto文件生成ruby代码 . 为了不得不在尽可能少的地方进行更改,我希望protobuf-net使用相同的.proto文件 . 看看protobuf-net文件夹中有一个名为ProtoBufGenerator和proto...
  • 3 votes
     answers
     views

    套接字上的Protobuf-net序列化 . 没有无参数构造函数发现ProtoException

    我创建了一个使用套接字完成进程间通信的应用程序 . 当客户端与我创建的服务器连接并发送序列化消息时,该过程开始 . 这条消息,我使用Protobuf-net进行序列化,使用SerializeWithLengthPrefix并使用DeserializeWithLengthPrefix对其进行反序列化 . 客户端将消息发送到完全反序列化的服务器,但在服务器到客户端的情况下却不是这样 . 主类是Base...
  • 3 votes
     answers
     views

    带有序列化byte []成员的Protobuf-net

    我有一个传输应用程序,用作pub- / sub服务器在客户端之间中继数据 . pub- / sub服务器只需要了解每个数据,例如,它需要topicname能够将已发布的主题中继到正确的订阅者 . 为了达到这个目的,我想出了一个方案,其中一个被装饰为ProtoContract的类包含一个byte [],而byte []又包含protobuf-net序列化数据 . 通过这种方式,服务器只需要对其中继...
  • 2 votes
     answers
     views

    发送许多Protobuf消息时NetworkStream关闭

    我使用protobuf-net和.NET的TCPClient和NetworkStream进行一个服务器和许多客户端之间的通信 . 对于发送消息,我在两侧使用以下方法: public static bool WriteProtocolBufferToStream(System.IO.Stream stream, object protoBufObject) { ...
  • 1 votes
     answers
     views

    protobuf-net关闭tcpclient

    我正在编写一个使用protobuf进行序列化的客户端服务器应用程序,以及一个用于传输数据的TCPClient / TCPListener . 已编写应用程序以从客户端向服务器发送消息,然后服务器发回响应 . 然后由于睡眠2秒,并重复 . 在第一个循环中一切正常,但是当它第二次再次尝试时,它会生成一个异常,即套接字关闭 . 我想通过使用SerializeWithLengthPrefix / Dese...
  • 1 votes
     answers
     views

    谷歌上的Googles ProtoBuf与C#(UDP)上的Protobuf-net聊天

    我对这两个Protobufs都有一个很大的问题 . 我使用Googles Protobuf在C上有一个服务器/客户端应用程序 . 它运作得很好 . 客户端将数据发送到服务器,服务器应将此消息分发给其他客户端 . C客户端是纯发送器,将Protobuf-Struct打包成具有固定大小(500个大气压)的Char-Array . C服务器对其进行反序列化,查找命令(登录注销或向其他人发送消息),以及(...
  • 6 votes
     answers
     views

    使用Protobuf-net和Monotouch for IOS序列化IEnumerable槽WCF

    我正在尝试在Monotouch / Monodevelop上为IOS编写WCF服务 . 我使用[DataMember] / [DataContract]等标准属性作为我的可序列化对象,使用[ServiceContract] / [OperationContract]作为我的界面 . 一切正常,但是当我尝试在接口实现(服务器端)上实现返回IEnumerable的方法时,它没有用 . 所以为了解决我的...
  • 7 votes
     answers
     views

    Protobuf-Net ProtoMember“IsRequired”属性用法

    Protobuf-Net ProtoMember“IsRequired”属性的用法是什么? 如果我将新属性(成员)添加到文件中已经序列化的类,它会有什么影响 . 如果我使用“IsRequired = true”它只是接受它而不加载一个值(因为它不在那里)或者我应该将值设置为false?如果我将其设置为false,那么值是否会正确序列化?
  • 8 votes
     answers
     views

    protobuf-net消息序列化大小属性

    我们使用protobuf-net对公共协议基于Google Protocol Buffers的应用程序中的消息进行序列化和反序列化 . 该库非常出色,涵盖了除此之外的所有要求:我们需要在消息实际序列化之前找出序列化的消息长度(以字节为单位) . The question已经在一年半前被问过了,根据Marc的说法,唯一的方法是序列化到MemoryStream并随后读取 .Length 属性 . 在我...
  • 1 votes
     answers
     views

    Protobuf-net v2和大型词典

    我有一种奇怪的情况发生,我不太了解 . 我有一个'数据集'类,其中包含有关监视浮标的各种元数据,包括“传感器”列表 . 每个电流'sensorstate' . 每个'sensorstate'都有一些关于它的元数据(时间戳,更改原因等),但最重要的是它有一个 Dictionary<DateTime,float> 的值 . 这些传感器通常具有超过50k的数据点(相当于15分钟的数据读数),...
  • 1 votes
     answers
     views

    Protobuf-net sirialization / deserialization c#vs Linux c

    我通过TCP套接字在Windows C#客户端和Linux C服务器之间传递消息 . C#代码使用protobuf-net v2,Linux谷歌版本的protobuf . 我传递的小测试对象有6个字段(Enum,Int,String) . 我需要两个问题的帮助: C#部分无法反序列化从Linux发送的数据,除非用作数据存储的内存流在构造函数中使用二进制数组初始化 . 数组不能大于从Linux...
  • 2 votes
     answers
     views

    意外的protobuf-net序列化程序行为

    我们使用protobuf-net v.2.3.2来序列化和反序列化我们项目中的一些复杂对象(包括列表,字典等) . 大多数情况下,一切都很好,但在极少数情况下,我们遇到了非常奇怪的行为:如果在第二个进程中调用序列化程序的 .FromProto<SomeComplexType>(bytes) 方法之前,在一个进程中序列化的对象会导致其他进程中的反序列化错误致电 .ToProto(some...
  • 2 votes
     answers
     views

    如何处理传入的protobuf消息

    使用TCPClient的NetworkStream和protobuf-net,我通过TCP发送和接收protobuf消息 . 看到一个类似的问题:How to properly handle incoming protobuf message with a NetworkStream? 但在我的情况下,只能有一种消息类型,所以我不认为我需要一个解析器 . 所以我序列化我的对象并使用tcp / ip...

热门问题