Je veux envoyer des commandes et des données entre le client et le serveur.
J'ai trois projets :
- Client
- Serveur
- Common - je place ici les classes communes et la couche d'abstraction réseau.
J'utilise les structures de données suivantes pour les communications entre le client et le serveur
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
}
Si je dois envoyer des informations sur des fichiers, je crée simplement un paquet avec la structure nécessaire CreatePacket<FilesInfo>(filesInfo)
puis le sérialiser et l'envoyer au client \server.
Mais comment puis-je désérialiser les données du côté de la réception ? Je ne sais pas quel est le type d'objet du paquet. Je ne sais pas quel est le type d'objet du paquet. Existe-t-il un autre moyen, une bibliothèque ou autre chose pour résoudre mon problème ? De plus, je ne veux pas utiliser WCF car mon application doit fonctionner sur des machines avec .NET 2.0 installé.