Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~


VB Private IRC

vbirc.exe (le programme en VB6 natif) ~  vbirc.zip (les sources du programme)

Si VB 6.0 n'est pas installé sur votre ordinateur, vous aurez peut-être besoin d'installer les Runtimes VB : DLL VB 6.0 DLL VB 6.0
Les deux DLL suivantes sont, en général, également nécessaires : VB6FR.DLL VB6FR.DLL ~  MSCOMCTL.OCX MSCOMCTL.OCX
(pour NT/2000, à copier dans WINNT\SYSTEM32 - pour 95/98/XP, à copier dans WINDOWS\SYSTEM)

Le programme est constitué d'une seule feuille.

La feuille a cet aspect là :

  • 2 boutons d'options permettant de choisir entre le mode serveur et le mode client.
  • 2 boutons de commande, un pour démarrer le serveur (ou le client), puis pour l'arrêter, et l'autre pour quitter l'application.
  • 2 zones de textes, une pour saisir l'adresse IP du serveur sur lequel se connecter, l'autre en bas pour dialoguer une fois la connexion établie.
  • 1 contrôle RichTextBox servant à afficher l'ensemble de la conversation.
  • 1 contrôle Winsock (non visible ici).
  • 2 Labels d'informations et un Frame.
Copie d'écran

Quelques explications avant de plonger dans le code. Le premier problème rencontré ici est que l'application a été développé chez moi, et je ne dispose que d'une seule machine. Donc pour tester une application qui doit fonctionner en réseau, il a fallu ruser. J'ai donc travaillé en local en ouvrant plusieurs connexions, mais à partir de ports différents. Ainsi, le serveur est en attente sur le 6667, et les clients ouvrent leurs connexions sur les ports suivants... Des problèmes de libération de ports m'ont obligé à faire une gestion d'erreur pas spécialement propre mais qui fonctionne. Toujours est-il qu'avec un véritable réseau l'application doit marcher. Si vous avez vraiment des problèmes, contactez-moi je ferai des essais plus poussés.

Pour faire une application dans ce genre, l'aspect le plus dur à appréhender est la partie serveur. Il faut, pour chaque nouvelle demande de connexion cliente, instancier un nouveau contrôle Winsock qui se charge de faire la communication entre ce client et le serveur. Je ne connais pas la limite, mais en local, j'ai réussi au moins jusqu'à quatre connexions simultanée (après ça mon écran est trop surchargé). Tenez moi au courant de vos résultats, je les publierai ici.

L'autre partie ardue est la gestion des dialogues entre applications. Rendu d'autant plus difficile que tout est fait dans une seule application, le client et le serveur. J'ai fait simplement séparer chaque envoi par un retour chariot (vbCrLf). Les lignes peuvent alors être traitées une par une, sans problème.

Je n'ai mis en place que la gestion du pseudo, le reste n'est plus que du bricolage! Vous pouvez facilement en ajouter d'autres. Le RichTextBox affiche la conversation. La procédure qui s'occupe d'y mettre le texte est assez évoluée pour écrire le texte de n'importe quelle manière.

Si quelqu'un désire faire un essai de cette application en direct sur internet, je suis disponible... Récupérez le code (ou directement l'exécutable) et vous verrez ce que cela donne.

En espérant que ces explications sont suffisantes et assez claires...

frmIrc.frm (. Afficher le code)

Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr