Application client/serveur - system.net - system.net.sockets...

Soyez le premier à donner votre avis sur cette source.

Vue 26 448 fois - Téléchargée 4 565 fois

Description

Il s'agit d'une applic. Client/serveur permettant de communiquer avec tous les utilisateurs du réseau.

Cette application est intéressante en ce sens que la console est à la fois le Client et le Serveur. J'utilise ici la classe TcpClient pour me connecter au destinataire ainsi qu'un objet NetworkStream pour envoyer les données encodées à travers le flux du réseau via un port de communication. Ce flux est interrompu à chaque fin d'envoi pour libérer le port et laisser d'autres demandes de connexion se faire sur le Socket. J'utilise aussi fort logiquement la classe TcpListener pour que la console scrute automatiquement les activités réseau, et réceptionne les messages. Cette écoute se fait dans un thread pour que les ressources CPU ne soient pas surchargées. A chaque réception le thread est interrompu pour casser le flux et le relancer aussitôt pour que la console, tel un serveur soit disponible pour toutes les autres demandes de connexion.
Voilà, l'application demande encore à évoluer. Notamment la liste des utilisateurs réseau n'est pas créée automatiquement. Ici, il faut taper le nom de la machine à laquelle se connecter, mais cette évolution n'est que broutille. Le reste me semble stable et fonctionne très bien, en tous cas sur mon réseau d'entreprise...

Conclusion :


J'oubliais !! L'application se lance en sentinelle (à côté de l'horloge). Ne soyez donc pas surpris si le formulaire ne s'affiche pas...Double cliquez sur l'icône de la sentinelle...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

rajouajolie
Messages postés
1
Date d'inscription
vendredi 20 juillet 2007
Statut
Membre
Dernière intervention
3 août 2007
-
Bonjour,
Merci tout d'abord pour votre application, le code est tres claire et bien commenté.
mais le probléme est que je viens de la tester, mais j'arrive pas à la faire fonctionner. j'ai choisie dans l'utilisateur reseau "Local host".
j'ai toujours un message qui s'affiche :"aucune connexion n'a pu etre établie car l'ordinateur cible l'a refusé".
et lorce que je lance dans la console Dos la commande "netstat -a" je trouve pas que le service a été lancer sur le port precisé dans le code.
Est ce que je dois faire parametrage pour faire fonctionner l'application?
Merci de m'aider à la faire fonctionner.

j'attend votre reponse.
cs_brute
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1 -
Bonjour,

Jai un petit probleme avec ta source .
Je l'ai legerement modifié pour l'adapter. .
En fait , la partie envoie de message fonctionne tres bien mais c'est la partie reception qui a un probleme .

En fait , j'ai un boitier qui me permet de faire une passerelle tcp / rs232, j'ai testé l'installation avec hperterminal et ca fonctionne. Le boitier possede une liaison rj45 relié au réseau et un port série relié a mon ordinateur COM2. Je lance un hyperterminal dessus le COM 2 et je lance l'appli modifié sur le port 4660 et a l'adresse du boitier .
Donc quand j'envoie un message a partir de l'appli modifié tcp , je le receptionne bien sur le terminal. mais par contre le contraire ne marche pas, lorsque j'envoie un message de l'hyperterminal connecté en COM 2 ca ne marche pas, je ne recois pas de données sur lappli TCP.
Par contre si je lance un hyperterminal et que je met l'adresse de ma machine et le port sur le quel tourne l'appli bein ca marche . . .
Une idée sur l'origine du probleme .?
Please help
nerix27
Messages postés
86
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
21 juin 2007
2 -
Salut yous !
Merci pour ta source très bien commentée !
Elle est idéale pour débuter les applis clients/serveur !

J'ai une petit question à te poser :
J'aurais une appli à faire où les clients enverraient des requetes SQL au serveur qui les traiteraient par la suite (accès à une base Access) et renverrait le résultat dans un DataTable...

Peut-on transmettre un DataTable (ou autre forme de tableau) via une connection client/serveur comme la tienne ?
Ou alors est-ce qu'il faut convertir le résultat de la requete en string (puis en byte), l'envoyer, et la retraiter par le client ?


Merci d'avance pour ta réponse...
mastervanou
Messages postés
56
Date d'inscription
vendredi 20 octobre 2000
Statut
Membre
Dernière intervention
13 octobre 2008
-
merci pour la source et le cours qui va avec
ca va m'aider pour mon pti au bts
par contre y'a juste un problème avec les networkstream, chez moi ca marche que sur un réseau filaire et pas pour le wifi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.