那麼我想在客戶端和服務器之間發送命令和數據。如果我不知道正確的類型,我該如何反序列化一個對象?
我有三個項目:
- 客戶
- 服務器
- 常見 - 在這裏,我把普通班和網絡抽象層
我使用以下數據結構的客戶端之間的通信和服務器
public class Packet<T>
{
public string Name { get; set; }
public string From { get; set; }
public string To { get; set; }
public PacketType PacketType { get; set; }
public T Container { get; set; }
public Packet()
{
}
public Packet(string name, PacketType packetType, T container)
{
Name = name;
PacketType = packetType;
Container = container;
}
}
public enum PacketType
{
Command,
Data
}
如果我需要發送有關文件的信息,我只需創建一個包含必要結構CreatePacket<FilesInfo>(filesInfo)
的數據包,然後將其序列化併發送到client \ server。
但我如何反序列化接收端的數據?我不知道數據包是什麼對象類型。有沒有其他方式或圖書館或什麼東西來解決我的問題?另外我不想使用WCF,因爲我的應用程序應該在安裝了.NET 2.0的計算機上工作。
很好的建議。 – Neir0 2012-02-07 15:53:45