Communication tcp client-serveur asynchrone

Soyez le premier à donner votre avis sur cette source.

Vue 12 690 fois - Téléchargée 2 563 fois

Description

Comme j'ai bien galéré sur le sujet, je vous propose une petite application exemple qui met en oeuvre une classe Serveur TCP et une classe Client TCP.
J'ai trouvé la source de ces deux classes sur le net (merci à Lainé Vincent).
Je les ai commenté et j'ai enrichit leurs fonctionnalités.
Ce code s'adresse aux personnes souhaitant s'initier à l'Envoi/Réception Asynchrone de données en TCP
Pour utiliser le logiciel il suffit de démarrer le serveur et de lancer la connexion sur le client.
Vous allez créé un lien client - serveur sur le même PC.
Après cela tapez un texte dans "message à envoyer" et appuyer sur la touche "Entrée"...
Bien sûr cela fonctionne aussi sur 2 PC distants, il suffit de changer l'adresse IP du Serveur sur l'interface client...

Source / Exemple :


Voir le Zip

Conclusion :


C'est ma première source sur VbFrance
j'espère quelle sera utile à quelqu'un !!!
N'hésitez pas à me laissez des commentaires, choses à améliorer, les BUGs etc ...
Bonne Programmation

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Frenesie1944
Messages postés
2
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
19 août 2010
-
Anadom bonsoir ,

Je fais partie des gens qui justement s'arrache les cheveux a essayer de comprendre comment marche les sockets et l'envoie de données simples par le raison en vb.net ... so j'ai télécharger tes sources dans l'espoir de pouvoirs comprendre tous ça seulement j'ai pas mal d'erreur qui semble etre rattacher a une seul : Impossible de charger mscomct2.ocx ... j'ai penser pouvoir le compiler en outre passant le message qui me disait poliment d'aller me faire voir xD donc j'ai mis en commentaire la ligne concenant mscomct2.ocs pour qu'il me foute la paix .. ça a tres bien marcher j'ai enfin eu acces au code cependant , bcp d'erreur sur les déclaration du genre " Byval blabla As EndIpPoint " , en effet partout ou il y a ce type de déclaration EndIpPoint est souligner et il me dit lors de la compilation qu'il est ambigu xD le tout premier message d'erreur parlant d'une référence manquante me laisse a penser que c'est le fichier mscomct2.ocx qui met le boxon mais impossible de trouver une solution pourtant j'ai naviguer durant des heures sur internet j'ai lu et essayer beaucoup de solution mais rien n'y fait >< ! si tu as une solution ou une informations concernant quelque chose que j'ai faite ou justement oubliée ....

En vous remercians d'avance ( pour tous ce qui aurait le meme problemes ou des solutions a proposer ) , Cordialement

Fréné
cs_charlyconso
Messages postés
6
Date d'inscription
lundi 4 octobre 2010
Statut
Membre
Dernière intervention
29 juin 2011
-
tu PEUX PAS SAVOIR COMME ça AIDE. MERCI
sych1fr
Messages postés
1
Date d'inscription
dimanche 27 février 2005
Statut
Membre
Dernière intervention
10 mai 2011
-
Super merci pour ce code tres commenté.
Pour info j'ai eu le même type de message d'erreur que FRENESIE1944 en ce qui concerne les EndIpPoint mais il m'a suffit de remettre la liaison avec ton Framework (uniquement 3.5 sur mon PC et non 3.5 SP1 ni 4.0) et plus d'erreur.
Si cela peut aider d'autres personnes
guilleto
Messages postés
258
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
20 mars 2013
1 -
Bonjour,

J'ai téléchargé votre code (1 an et 2 jours après sa publication) et j'avoue qu'il y a encore des zones d'ombre :
1°) Lorsque j'envoie une chaine de caractères de plus 11 Octets celle-ci est systématiquement scindée par bloc de 11 Octets ! Pourquoi ?
2°) Est-il possible d'envoyer autre chose qu'une chaine de caractères ? Comme par exemple une structure de données ? Si Oui comment ?
3°) J'ai vu que l'écoute se faisait toutes les 500 millisecondes grâce à un Timer, est-il possible de le remplacer par une tâche de fond ?

Par avance merci

Olivier
guilleto
Messages postés
258
Date d'inscription
jeudi 23 octobre 2003
Statut
Membre
Dernière intervention
20 mars 2013
1 -
Bonjour,

J'ai mieux regardé votre code et n'ai utilisé que le strict minimum (connexion auto au démarrage de l'application, etc.). J'ai tellement pris le strict minimum que lorsque je lance le serveur en Auto puis le client en Auto cela fonctionne mais si le client s'arrête et que je le relance : le client n'est plus connecté !!

Que puis-je faire pour que le client et le serveur se reconnecte automatiquement si l'un d'eux s'arrête ?

Par avance merci

Olivier

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.