[英]C# send/receive Collections using protobuf-net + sockets example
我正在寻找如何通过使用protobuf-net序列化和套接字连接在两台机器之间传输集合的完整示例。 我成功找到的只是代码的各个部分,没有人能像我一样向noob解释如何组合所有这些东西。 在.proto文件之后:
using System;
using ProtoBuf;
namespace Proto.Transaction
{
[Serializable]
[ProtoContract]
public class Transaction
{
[ProtoMember(1)]
public int Type { get; set; }
[ProtoMember(2)]
public int AgentID { get; set; }
[ProtoMember(3)]
public string TransactionName { get; set; }
[ProtoMember(4)]
public string ScriptName { get; set; }
[ProtoMember(5)]
public DateTime StartTime { get; set; }
[ProtoMember(6)]
public double TransactionLength { get; set; }
}
}
最后,我必须将它作为Observable Collection接收并将其设置为DataSet(为了将其保存为XML并将其呈现在DataGrid中)。 我将非常感谢任何帮助和/或链接到网络中的适当材料。 问候
在最基本的层面上 ,您可以查看QuickStart / 3 Sockets.cs下的示例。 这里的关键点是, 如果您在原始套接字级别工作 ,则需要在消息之间添加某种分区(因为TCP只是一个流)。 该示例使用*WithLengthPrefix
方法执行此操作。
但是,在许多情况下,您可以使用已经包含消息分区的预卷RPC /消息传递实现; 在这种情况下,你不需要使用*WithLengthPrefix
方法(虽然欢迎您这样做)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.