begin process at 2012 02 13 23:31:40
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > PRINCIPES DE COMMUNICATION CLIENT/SERVEUR

PRINCIPES DE COMMUNICATION CLIENT/SERVEUR


 Information sur la source

Note :
9,1 / 10 - par 10 personnes
9,10 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Niveau :Débutant Date de création :14/06/2003 Date de mise à jour :29/06/2003 11:28:09 Vu / téléchargé :7 030 / 1 761

Auteur : Arecibo

Ecrire un message privé
Site perso
Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Il s'agit de 2 programmes destinés aux débutants qui désirent apprendre les principes de communication entre client et serveur :
- spécifier un hôte et un port distant
- se connecter
- accepter une connection
- gérer les erreurs de connection
- envoyer du texte
- envoyer une commande sous forme de string qui sera traitée par le client (afficher une msgbox dans cet exemple)

Le transfert de fichier n'est pas abordé.  

---------------------------------------------- --------------------

J'ai fait une mise à jour pour Madtrax. Maintenant :
- le client peut se déconnecter et se reconnecter
- le serveur peut envoyer une commande de plus (lancer une application chez le client). Attention, j'ai utilisé la commande Shell qui ne permet pas l'éxécution de beaucoup de types de fichier.

Cependant, le serveur ne peut toujour pas déconnecter le client. Je voulais le faire mais il y avait un bug quand le client voulais se reconnecter suite à une déconnection par le serveur. J'ai préféré ne pas le mettre plutôt que de mettre un truc buggé.  

---------------------------------------------- --------------------

17/06/2003 - 17 h 30
New Update.
Nouveautés :
- un label sur chaque programme (client et serveur) indique l'état de la connection
- il est possible pour le serveur d'être averti lors dune requête de connection et de refuser cette requête
- il est possible pour le serveur de couper des connections (j'ai corrigé le bug)
- 2 ou 3 petites corrections supplémentaires...  

---------------------------------------------- --------------------

Encore un update
Cette fois ci suite a une remarque de diksa222

Le timer du serveur a été supprimé !
J'ai aussi changé la listbox par une textbox multiline parce que si le client envoyait du texte sur plusieurs lignes, le serveur l'affichait sur une seule ligne et c'était pas beau !



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip FLASHY CIRCLES
Source avec Zip Source avec une capture PROTECTION ET SON KEYGEN
Source avec Zip LAMERIZER (FONCTION CHOOSE)
Source avec Zip Source avec une capture RÉCUPÉRATION DES PARAMÈTRES PASSÉS AU PROGRAMME
Source avec Zip RESIZE DE LA FORM ET DES COMPOSANTS - INSPIRÉ D'EXPLOREUR

 Sources de la même categorie

Source avec Zip Source avec une capture GESTIONNAIRE DE TÉLÉCHARGEMENT, AVEC REPRISE ET MULTITHREADI... par Madx23
Source avec Zip Source avec une capture CONVERTIR DU TEXTE RTF EN CODE HTML ET VICE-VERSA par vicosta
Source avec Zip Source avec une capture DICTIONAIRE TEXT/AUDIO/VISUELLE ANGLAIS AVEC WEBBROWSER CONT... par majnounmajda
Source avec Zip Source .NET (Dotnet) NSLOOKUP EN VB.NET OU COMMENT FAIRE UNE REQÛETE DNS EN PRÉCI... par ShareVB
Source avec Zip Source avec une capture MINI SEVEUR HTTP AVEC INTERFACE GRAPHIQUE ET IMPLÉMENTATIONS... par lemout

Commentaires et avis

Commentaire de ICIoBRa le 14/06/2003 14:21:05

Enfin une personne ki a fait ça proprement !
10/10

Commentaire de matrey le 14/06/2003 17:40:15

c'est très bien fait ! bravo ! 10/10

Commentaire de Madtrax le 14/06/2003 21:49:33

Merci merci merci !
Je cherchais ça depuis longtemps ! tu l'as fait et en plus très bien et très commenté ! Merci encore !

Commentaire de Madtrax le 15/06/2003 15:39:45

Re bon voila ce qui on telecharger ce programme on remarqué qu'il ai impossible de ce connecter/deconnecter sans fermer le server et le reouvrir.
Donc j'ai penser a ce petit Timer

Sub Time1_Timer()
If Winsock1.State = sckClosing Then
Winsock1.Close
Winsock1.Listen
End If
End Sub

Pour permettre au Server apré avoir perdu la connexion ou ke le client se soit deco de reprendre le Listen du Port ! et donc d'accepter les nouvelles connections eventuelles !


@+ MadtraX

Commentaire de Madtrax le 15/06/2003 15:46:32

Vous pouvez aussi faire en sorte ke le Timer revienne a la commande de Listen comme ceci :


Sub Time1_Timer()
If Winsock1.State = sckClosing Then
Winsock1_ConnectionRequest
End If
End Sub

Voila, si vous avez une remarque !
Ah oui aussi, j'aimerais que vous m'aidiez pour transformer le truc de reponse par MsgBox en envoyant avec le sen data MBox en le transformant par une Cammande de Shell qui serait plus interessant ;)


@+ MadtraX

Commentaire de Arecibo le 15/06/2003 17:39:41

Effectivement, c'est une erreur de ma part de ne pas avoir géré les deconnections. J'ai fait ce prog un peu vite et je n'ai pas pensé à tout.
Je devrais faire une mise à jour d'ici peu mais il faut que tu me précise quelques trucs :
- qu'est ce que tu veux dire par "faire en sorte ke le Timer revienne a la commande de Listen" (j'ai compris le cod emais ça non)
- qu'est ce que tu entends par une commande de shell plus intéressante ?

Commentaire de Arecibo le 15/06/2003 18:59:11

>>Madtrax
Voilà, j'ai updaté le ZiP et la capture.

Je pense que les problèmes que tu évoquais sont maintenant résolus.
Il n'y a plus besoin de fermer/ouvrir le serveur pour se connecter/déconnecter et j'ai mis une commande de plus à la disposition du serveur (lancement d'une application chez le client). Je sais pas si c'est ce que tu voulias dire par "commande de shell plus intéressante", en tout cas elle est assez limitée (à cause du Shell justement).
il faudrait faire attention de ne pas transformer cette source en Trojan...  ;-)

Si tu retouches le programme envoie moi les sources à:
arecibo@netcourrier.com

Commentaire de Madtrax le 15/06/2003 20:41:56

>>Arecibo
Quand je disais de revenir a la commande Winsock1_ConnectionRequest
c'est en realiT tout simplement pour que :
-Quand le porgramme detecte ke la connection est fermé il reviens a la commande :
            Winsock1_ConnectionRequest
            si on y ajoute un Winsock1.Close
            j'avais oublié de preciser.

Pour ce qui est de la commande de shell tu as (meme si tu n'as pas compris) fait exactement ce que je voulais faire ! Merci ;)
Bon maintenant je pourrais me debrouillais tout seul car j'avais du mal a modifier le truc du MBox a cause de la recherche du _


A Bientot je l'espere Arecibo !
@+ MadtraX

Commentaire de Arecibo le 16/06/2003 08:57:33

Eh bien, vas-y, amuse toi !

Commentaire de diksa222 le 28/06/2003 21:46:26

je vien de decouvrir cette source ki ma l'air d'etre bien o point de vue lucrative mais g une petite correction a faire :)

pour le timer ki verifie tte les 100 millisecond si on est pas deconnecter et ki remet le server sur ecoute lors de deconnection et ben en fait  moi je propose ca et je garantie que ca marche a tt les coup

Private Sub Winsock1_Close()
winsock1.close
winsock1.listen
end sub

essayer ca marche a coup sur, a mettre du coté server et c kan meme plus pratique kun timer non?

Commentaire de Arecibo le 29/06/2003 11:18:58

C'est vrai qu'on peut utiliser l'évènement Winsock_Close(), je l'ai fait dans le client et je sais pas pourquoi je ne l'ai pas fait dans le serveur.
Je modifie ça tout de suite.

Commentaire de daetips le 01/09/2003 21:05:39

franchement 10²²²²²²²²²/10 c superr

Commentaire de Arecibo le 13/09/2003 09:25:44

Merci

Commentaire de VBSpirit le 10/11/2003 18:10:31

C'est très bien ! Rare sont les codes qui sont bien expliqués.
Mais... eh oui il y a un mais, il aurait fallu que t'explique comment on fait pour connecter plusieurs clients à la fois...
    Pour cela, il faut faire un tableau de Winsock où Winsock(0) est à l'écoute d'une demande de connexion, il suffit ensuite de créer un autre winsock (Load Winsock(Winsock.Count)) et de faire "Winsock(Winsock.UBound).Accept RequestID" pour connecter un client. Et cela permet plusieurs connexions...
Un serveur digne de ce nom doit être capable de gérer plusieurs connexions...

Bonne prog...
10/10

Commentaire de protect le 16/07/2004 19:07:12

Pour ne pas dir pareil que les autres on vas dire que ton programme est  trés bien fait avec des commentaires et un code simple=)

10/10

Commentaire de Lewiss le 06/08/2004 19:58:29

Arecibo,

Ça fait un bail que je cherche une source de cette qualité à propos du contrôle WinSock...

Merci beaucoup à toi,  Continue de déposer de telles sources.

Bravo ! (au cube)

Commentaire de media6 le 14/09/2006 21:03:57

Yes man !
Trop cool ton code pour un débutant comme moi en winsock...
Allez, pour la peine 10/10 !
Merci.

Commentaire de MarWanted le 02/05/2008 15:00:48

tu merit que 1/10 !!!!!!!!!!!!!!!!!( je blague si il ya mieu que 10 je veu le donne ) :)

Commentaire de Galactus13 le 15/10/2009 12:28:26

même si j'ai pas tout saisi, je suis dur à la comprenette !
Sa marche en local, me reste plus qu'a tester en reseau avec mon serveur que je ne sais pas utiliser ! (la honte !)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,340 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales