gpt4 book ai didi

c# - 如何通过 TCP 和 protobuf-net 接收包

转载 作者:可可西里 更新时间:2023-11-01 02:52:03 29 4
gpt4 key购买 nike

我正在编写一个使用 Protocol Buffer C# 的应用程序。我需要一些如何通过 TCP 发送和接收数据的示例。特别是,如何确定到达的是哪种类型的包裹。我有课:

[ProtoContract]
class Package1
{
//fields
}
[ProtoContract]
class Package2
{
//fields
}

和写入流的方法

private static void SendPackage(Stream stream, Package1 package)
{
Serializer.Serialize<Package1>(stream, package);
}

private static void SendPackage(Stream stream, Package2 package)
{
Serializer.Serialize<Package2>(stream, package);
}

现在,如何判断到达的是哪种类型的包裹?

using (NetworkStream stream = client.GetStream())
{
switch(packageType)
{
//deserialize package
}
}

P.S 抱歉我的英语不好。

最佳答案

有一个 Serializer.NonGeneric 方法可以用来识别对象。看这个问答How can I send multiple types of objects across Protobuf?

关于c# - 如何通过 TCP 和 protobuf-net 接收包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22079042/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com