繁体   English   中英

使用protobuf-net +套接字示例C#发送/接收集合

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM