Ну, я хочу отправлять команды и данные между клиентом и сервером.
У меня есть три проекта:
- Клиент
- Сервер
- Общий - здесь я помещаю общие классы и уровень сетевой абстракции
Я использую следующие структуры данных для связи между клиентом и сервером
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)
, а затем сериализую его иотправить его клиенту \ серверу.
Но как я могу десериализовать данные на принимающей стороне?Я не знаю, каков тип объекта пакета.Есть ли другой способ или библиотека или что-то, чтобы решить мою проблему?Также я не хочу использовать WCF, потому что мое приложение должно работать на машинах с установленным .NET 2.0.