4 votes

Application serveur/client C# .NET

Je débute sur une application serveur/client assez basique (du point de vue logique), mais je suis un peu confus quant à ce que je devrais utiliser pour mes besoins. Il semble qu'il y ait quelques options, mais en gros je vais avoir un serveur maître, et X applications clientes (une par machine dédiée). Le but principal de cette configuration est que je puisse essentiellement faire ce qui suit...

-Émettre une commande au serveur (application console) via une interface frontale ASP pour installer un logiciel sur l'un des clients distants. - Le serveur dit au client de télécharger un package zip (de divers sites FTP) à un emplacement et de l'extraire à un chemin spécifique.

Je ne suis pas certain, mais il semble que C# ait des Sockets et ensuite une sorte de type de WebClient. Je suppose que les Sockets seraient la meilleure voie à suivre, et d'utiliser de manière asynchrone (chaque client distant est connecté dans son propre fil, traitant avec le serveur individuellement des autres).

Toute information à ce sujet serait géniale!

8voto

Paul McCowat Points 3135

Sans entrer dans trop de détails pour vos besoins spécifiques, je regarderais certainement WCF.

Il englobe de nombreux scénarios existants de communication à distance, client / serveur, services web dans un cadre très complet et sécurisé.

Programmation client-serveur avec WCF

2voto

Jon Points 194296

WebClient permet de faire des requêtes HTTP, je ne pense donc pas que cela soit très pertinent ici.

Il existe de nombreuses approches que vous pouvez adopter pour cette application.

Une consiste bien sûr à utiliser WCF, qui offre environ un million d'options de plus que ce dont vous aurez besoin. Cependant, WCF a une courbe d'apprentissage et en particulier il est difficile de comprendre exactement ce qui est caché derrière toutes les abstractions sans expérience préalable. De plus, cette solution n'est pas disponible si vous ciblez .NET 2.0.

Vous pouvez également implémenter un modèle client/serveur TCP simple en utilisant des sockets. Bien que vous puissiez programmer directement avec des sockets bruts, .NET propose également les classes de commodité System.Net.Sockets.TcpListener pour le serveur et System.Net.Sockets.TcpClient pour les clients. Cette approche est beaucoup plus proche du métal, mais c'est un compromis: il est beaucoup plus facile de comprendre ce que vous faites exactement, mais vous devrez implémenter vous-même une bonne partie de la fonctionnalité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X