cs_hoymille
Messages postés40Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention11 avril 2006
-
26 juil. 2005 à 14:22
cs_hoymille
Messages postés40Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention11 avril 2006
-
28 juil. 2005 à 09:45
Bonjour,
Est-il possible de lancer automatiquement (par envoi d'un message) une application fait en C# à distance (sur un autre pc du réseau)?
Si oui, pouvez vous m'expliquer la démarche ou donner un exemple (ou bien un tutoriel)?
zebobo5
Messages postés273Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention 6 février 20091 26 juil. 2005 à 14:31
il te fo une appli client/serveur : serveur sur le pc distant, où tu pourra faire ce ke tu ve, et client sur ton poste pour le controler l'appli distante.
c une sorte de cheval de troie ke tu va ns faire là... lol
il existe deja po mal de prog ki font ca, dt sur CS. cherche un peu
cs_hoymille
Messages postés40Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention11 avril 2006 26 juil. 2005 à 14:50
J'ai déjà fait ue application client/serveur qui fonctionne correctement lorsque je la lance en local (sur le meme pc), mais dès que je met le client sur un pc et le serveur sur un autre, la connection du client sur le serveur ne se fait jamais.
Je ne sais pas si quelqu'un peux m'aider svp? (j'ai aussi testé une application déjà faite et le résultat est le même que l'application que je créée).
cs_hoymille
Messages postés40Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention11 avril 2006 26 juil. 2005 à 15:57
Oui tout est vérifié, mais en fait j'ai réussi à communiquer en utilisant la classe TcpClient.
En fait mon problème, c'est que un client doit envoyer un message au serveur et le serveur doit alors exécuter une application bien spécifique et dès que l'application a terminé de s'exécuter, le serveur doit renvoyer au même client un fichier de données et ce client doit les afficher à l'écran et tout ça en temps réel. Je ne vois pas comment pouvoir réaliser ceci.
cs_hoymille
Messages postés40Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention11 avril 2006 26 juil. 2005 à 16:38
Merci, cette doc je l'ai déjà et quand je l'ai testée ça ne marchait pas.
Tu n'aurais pas d'autres doc stp?
Mais mon plus gros problème est de lancer une application sur le serveur dès qu'un client lui envoie un message et aussi l'envoi du fichier du serveur au client (quand l'appli est terminée).
zebobo5
Messages postés273Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention 6 février 20091 26 juil. 2005 à 17:25
Lorsque ton serveur recoit un message, il a juste à faire : Lancer_Notepad();
Là ton serveur lancera notepad , ton serveur bouclera, et tant ke notepad ne sera po fermé, la messagebox ne s'affechera po(au nivo serveur)
Ce code n'est k'un exemple vite fait, ya surement mieux fait, m'enfin ca marche
System.Diagnostics.Process p;
void Lancer_Notepad()
{
p = new System.Diagnostics. Process ();
p.StartInfo = new System.Diagnostics.ProcessStartInfo("notepad.exe");
p.Exited += new EventHandler(p_Exited);
p.Start();
while (true)
{
if (c.HasExited)
break;
}
}
void p_Exited(object sender, EventArgs e)
{
MessageBox.Show("Notepad a été fermé, maintenant je pe renvoyer ce ke je ve à mon client dt un fichier généré par l'appli ki vien d'etre fermé");
}
cs_hoymille
Messages postés40Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention11 avril 2006 27 juil. 2005 à 15:43
zebobo c'est koi "c" dans c.HasExited ?
Je voulais savoir si c'était aussi possible de fermer l'application (qui a été ouverte, donc ici par exemple fermer notpad.exe) à distance dès qu'on a notre fichier de données?
zebobo5
Messages postés273Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention 6 février 20091 27 juil. 2005 à 15:51
"c" est une faute de frappe, c'est "p" en fait. sinon, pour killer ton appli a distance tu envois un msg ki lancera un procédure où tu auras :
p.Kill();
sinon, met un :
Application.DoEvents();
dans le "while" pour ke ton serveur continue à s'executer si un autre evenement ou msg arrive.
zebobo5
Messages postés273Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention 6 février 20091 27 juil. 2005 à 15:56
Pour vérifier si ton appli est en marche tu as la propriété : p.HasExited
Elle est à true si elle a déjà été fermé
Et à false si elle n'a pas encore été fermé
<HR>
ZeBobo5
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 27 juil. 2005 à 16:29
Moi aussi je me suis demandé si c'était une faute de frappe ou pas ce "c", c'est pour ca que j'ai dit dans le post précédent "j'ai un doute sur ce que veut faire Zebobo" donc voilà ce que je voulais proposer avec WaitForExit( )
private void Run( )
{
Process p = Process.Start( "Notepad.exe" );
p.WaitForExit( );
MessageBox.Show("Notepad has exited !");
}
Sauf que maintenant Hoymille veut killer Notepad donc finallement il faut peût être mieux garder l'idée de la boucle.
cs_hoymille
Messages postés40Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention11 avril 2006 28 juil. 2005 à 09:45
Je voulais savoir si il était possible de renvoyer au serveur le fichiers de données sachant qu'il peut y avoir jusqu'à 4 clients de connectés (il faudrait envoyer le fichier de données au client qui a demandé au serveur de lanecr une application) ?