Lancer un serveur en arriere plan

Résolu
cs_zorro95 Messages postés 4 Date d'inscription mardi 14 mars 2006 Statut Membre Dernière intervention 15 août 2008 - 14 août 2008 à 00:23
cs_zorro95 Messages postés 4 Date d'inscription mardi 14 mars 2006 Statut Membre Dernière intervention 15 août 2008 - 15 août 2008 à 12:03
Bonjour tout le monde,

Je suis nouveau sur le forum et c'est la premiere fois que je poste un message pour la simple raison que j'ai pratiquement toujours tout trouvé sur ce site :)

J'ai tout simplement un souci dans mon programme, voila je m'explique, j'ai un programme qui me permet de faire du WakeOnLan et du ping sur un reseau mais je souhaite faire tourner en meme temps en arriere plan un serveur UDP pour recevoir un message venu des clients et afficher ce message dans un label tout simplement, alors on ma parlé de multi-threading par exemple, ou alors de creer mon serveur dans un 2eme form et de l'appeler mais malheureusement mon programme plante, j'ai aussi entendu parler de UserControl. Sinon je suis nouveau en C# et pas vraiment bon en programmation, donc si quelqu'un peut m'aider ca me serait d'une grande aide car c'est un devoir que je dois rendre bientot, toute aide et idée est la bienvenue.
J'espere ne pas avoir été confus dans ma demande.

Merci d'avance :)

2 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
14 août 2008 à 09:17
Salut,

Avant tout, et je pense que je parle pour beaucoup des admins codes-sources, merci pour ce que tu dis dans la premiere partie de ton message. Ca prouve enfin qu'il y a au moins un utilisateur de csharpfr qui fair des recherches avant de poser une question

Pour ta question, c'est pas évident de répondre, du moins de donner une réponse toute faite.
Le mieux est bien sur de faire tourner un Thread qui s'occupe que de cette partie serveur. J'imagine que quand tu dis que tu as essayé de faire tourner ton serveur dans une forme et que le programme plantait, tu veux dire que la fenetre ne reagissait pas ? Et c'est certainement parce que tu as fait tourner ta partie serveur dans le Thread principal (qui a donc monopolisé tout le temps CPU). En créant un second thread, ton UI resterait reactive, pendant que ton second thread ferait son travail.

Pour avoir un exemple sur les Thread, je t'invite a parcourir certaines sources sur ce site et un ebook indispensable.
par exemple, pour la creation d'un Thread, et son interraction avec l'UI : http://www.csharpfr.com/tutoriaux/CSHARP-OPERATIONS-CROSS-THREADS-UTILISATION-DELEGATIONS-SYNCHRONES-ASYNCHRONES_174.aspx et http://www.csharpfr.com/codes/THREAD-PROGRESSBAR-EXEMPLE-SIMPLE_40294.aspx
Ce ne sont que des exemples qui parlent de la partie Thread et UI. Tu peux tout a fait faire tourner ton thread dans un programme en "mode console" bien sur.

Pour tout savoir sur les threads : http://blogs.codes-sources.com/coq/archive/2006/08/19/e-book-gratuit-sur-le-threading-en-c.aspx

Bon courage pour ton devoir. N'hésite pas a reposer des questions, même si, et tu t'en doute, on ne pourra pas te donner une solution toute faite pour ton travail a réaliser

Mx
MVP C# 
3
cs_zorro95 Messages postés 4 Date d'inscription mardi 14 mars 2006 Statut Membre Dernière intervention 15 août 2008
15 août 2008 à 12:03
Merci beaucoup pour ta reponse rapide et tes liens  genial, je viens d'imprime toute la doc de Albahari,
je pensais pas recevoir une reponse aussi rapide pour etre honnete.
Je vais essaye d'utilise les threads parce que comme je l'ai dis avant je suis pas tres bon en prog :s

En tout cas merci encore
0
Rejoignez-nous