Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TUTORIEL:WINSOCK


Information sur la source

Catégorie :Control Niveau : Débutant Date de création : 22/06/2002 Date de mise à jour : 22/06/2002 23:33:27 Vu : 9 652

Note :
8,59 / 10 - par 27 personnes
8,59 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (21)
Ajouter un commentaire et/ou une note


Description

Voici un tutoriel qui montre comment se servir de winsock
 

Source

  • 'Bon,voici un Tutoriel qui vous montre comment sa servir de winsock
  • 'Premierement on vas étufier le mode Écoute,dit aussi Attende de Connexion
  • 'Tout d'abord on doit choisir un port pour l'écoute.Pour choisir le port on fait : Winsock1.LocalPort = LePort
  • 'Le mode écoute se fait avec une commande comme celle ci: Winsock1.Listen
  • 'Le mode écoute sert a faire un serveur,c'Est a dire attendre des connexions venant de l'Extérieur.
  • 'Une fois ceci fait il faut pour voir détecter si il y a une demande de connexion.
  • 'Pour ce faire vous metter :Winsock1.Accept requestID
  • 'Dans la form Connexion_Request.
  • 'Noublier pas de fermer le winsock avent d'accepter la connexion.
  • 'Exemple:
  • Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
  • Winsock1.Close
  • Winsock1.Accept requestID
  • End Sub
  • 'Maintenant passons a la connection a un serveur. Le winsock peut se connecter a tout serveur (HTTP,NetBus,FTP...) A conditions que vous connaissier le port...
  • 'Pour se connecter,c'est simple : Winsock1.Connect LEServeur,LePort
  • 'Maintenat comment recevoir et envoyer des données?
  • 'L'envois des données est très simple:Winsock1.SendData "Le text"
  • 'La reception a besoin d'une sub voici:
  • Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  • 'On déclare le type de donné
  • Dim Donne As String
  • 'Ici on récupere les donnés.
  • Winsock1.GetData Donne
  • 'Une fois les donné récuperer ,Elle se trouve dans la variable Donne et vous pouvez les mettre dans un textbox ou n'importe quoi ex: text1.text = text1.text & vbcrlf & Donne
  • End Sub
  • 'Comment detecter si le winsock est bien connecter? Simplemnet en fesans : Winsock.State
  • 'Ex: If Winsock1.State = sckConnected Then MsgBox "Le Winsock est connecté"
  • 'Les autre sub:
  • Private Sub Winsock1_Connect()
  • 'Cette sub si est le script a executer quand le winsock réussis a établir la connection avec le serveur
  • End Sub
  • Private Sub Winsock1_Close()
  • 'Ici c'Est si la connection est fermer par le server
  • End Sub
  • Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
  • 'Si une erreur arrive en essayant de se connecter au serveur ou bien durant l'envois/Reception de donnés
  • End Sub
  • Private Sub Winsock1_SendComplete()
  • 'Quand le transfert est fini. Sa sert plus a quand on envois des Gros fichiers car avec du text c'Est quasi instantané
  • End Sub
  • Private Sub Winsock1_SendProgress(ByVal bytesSent As Long, ByVal bytesRemaining As Long)
  • 'Ici c'Est la progression de l'envois . bytesSent donne les bytes déja envoyer et bytesRemaining donne les bytes a envoyer
  • 'Voici un exemple pour avoir le pourcentage de la progression BytesSent / La Grossuer * 100
  • End Sub
  • 'Dans ce tutoriel je ne vous montrerer pas comment envoyer des fichiers mais je compte bien en faire un a ce sujet
'Bon,voici un Tutoriel qui vous montre comment sa servir de winsock
'Premierement on vas étufier le mode Écoute,dit aussi Attende de Connexion

'Tout d'abord on doit choisir un port pour l'écoute.Pour choisir le port on fait : Winsock1.LocalPort = LePort
'Le mode écoute se fait avec une commande comme celle ci: Winsock1.Listen
'Le mode écoute sert a faire un serveur,c'Est a dire attendre des connexions venant de l'Extérieur.
'Une fois ceci fait il faut pour voir détecter si il y a une demande de connexion.
'Pour ce faire vous metter :Winsock1.Accept requestID
'Dans la form Connexion_Request.
'Noublier pas de fermer le winsock avent d'accepter la connexion.
'Exemple:

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub



'Maintenant passons a la connection a un serveur. Le winsock peut se connecter a tout serveur (HTTP,NetBus,FTP...) A conditions que vous connaissier le port...
'Pour se connecter,c'est simple : Winsock1.Connect LEServeur,LePort

'Maintenat comment recevoir et envoyer des données?
'L'envois des données est très simple:Winsock1.SendData "Le text"
'La reception a besoin d'une sub voici:

 
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
'On déclare le type de donné
Dim Donne As String
'Ici on récupere les donnés.
Winsock1.GetData Donne
'Une fois les donné récuperer ,Elle se trouve dans la variable Donne et vous pouvez les mettre dans un textbox ou n'importe quoi ex: text1.text = text1.text & vbcrlf & Donne
End Sub



'Comment detecter si le winsock est bien connecter? Simplemnet en fesans : Winsock.State
'Ex: If Winsock1.State = sckConnected Then MsgBox "Le Winsock est connecté"



'Les autre sub:


Private Sub Winsock1_Connect()
'Cette sub si est le script a executer quand le winsock réussis a établir la connection avec le serveur
End Sub




Private Sub Winsock1_Close()
'Ici c'Est si la connection est fermer par le server
End Sub


Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
'Si une erreur arrive en essayant de se connecter au serveur ou bien durant l'envois/Reception de donnés
End Sub

Private Sub Winsock1_SendComplete()
'Quand le transfert est fini. Sa sert plus a quand on envois des Gros fichiers car avec du text c'Est quasi instantané
End Sub


Private Sub Winsock1_SendProgress(ByVal bytesSent As Long, ByVal bytesRemaining As Long)
'Ici c'Est la progression de l'envois . bytesSent donne les bytes déja envoyer et bytesRemaining  donne les bytes a envoyer
'Voici un exemple pour avoir le pourcentage de la progression BytesSent / La Grossuer * 100
End Sub


'Dans ce tutoriel je ne vous montrerer pas comment envoyer des fichiers mais je compte bien en faire un a ce sujet

Commentaires et avis

signaler à un administrateur
Commentaire de PtitJeoJeo le 22/06/2002 23:49:01

Merci pour ces information il est vrai que l'initiation au winsock n'est pas facile quand on y conné rien ! c pourkoi je te remercie beaucoup car ca pourra me servir pour mes futur projet !

Bonne continuation
PtitJeoJeo

signaler à un administrateur
Commentaire de max12 le 23/06/2002 04:21:45 administrateur CS

God bless you :P oué c'est sur que c'est bien et facile a comprendre pour ceux qui save pas s'en servir mais c'est SUPER facile une fois que vous aurez compris les bases :) Bonne chance au débutant winsock :)

A+

signaler à un administrateur
Commentaire de kloo le 25/06/2002 12:36:36

merci, ton tutoriel pour envoyer des fichiers, tu compte le faire quand? ça m'interresse.

@+
k-loo

signaler à un administrateur
Commentaire de psykocrash le 15/07/2002 15:04:51

slt,
et yoman64 tu veut bien me contacter (dsl g ta ton e-mail ) et g un grop pb avec winsock alors @+
bonsite@caramail.com

signaler à un administrateur
Commentaire de SuperClic le 19/08/2002 16:42:33

Merci, enfin un code avec Winsock que j' arrive à comprendre !
Moi aussi,je débute

signaler à un administrateur
Commentaire de InKLy le 01/02/2003 00:02:48

merci bien pour ce tuto, je débute et j'ai bien besoin de ca encore merci =)

signaler à un administrateur
Commentaire de legion91 le 21/04/2003 11:22:00

trop bien le tuto merci

signaler à un administrateur
Commentaire de alidev3000 le 14/03/2004 00:53:49

oui c'est tres cool mais comment utiliser les RAW socket?

signaler à un administrateur
Commentaire de yoman64 le 12/09/2004 06:42:18

Pkoi ya des cons qui s'amuse a baisser mes notes !?!?!?! :@

YoMan64
PhPKoDe.Com

signaler à un administrateur
Commentaire de legion91 le 13/09/2004 22:25:25

Etant donner que je mettait servi de ce tuto dans mes debut, donc tres utile et que c pas un doublon, j'ai mi 10, aussi pour remonter ta note.

Faudrait faire un tuto sur les transfert de gros fichier aussi histoire d'ameliorer.

signaler à un administrateur
Commentaire de yoman64 le 14/09/2004 20:04:38

Ok je vais faire un tuto pour le transfert de gros fichiers , en fait c'est pas compliquer , meme que je vais lexpliquer tout de suite dans ce commentaire ;)

Un packet envoyer avec winsock dois faire maximum 2045 octet ( en t-k c un standard que jai vu dans les prog de download)

Donc pour envoyer un grois fichier , suffit de metre
un

for i=1 to len(fichier) step 2045
winsock.senddata mid(fichier,i,2045)
next


comme sa tout le fichier n'est pas envoyer dun coup et sa fait pas planter lordi ...

Allez bonne chance , si vous avez des pb ou besoin d'aide , ajoutez moi dans votre msn , je suis assez souvent online .
o_s2@hotmail.com

Allez faire un ptit tour sur mon site , et laissez y un ptit script vb / php / asm / mirc / c++,c / javaScript ou autre.
Ya pas assez de viste :(...c p-e parce qu'il vein douvrir ;).
Allez sur : PhPKoDe.Com

Allez @++
YoMan64
PhPKoDe.Com
Lol je fais dla pub , c'est pas bien ;D

signaler à un administrateur
Commentaire de rybakk le 24/11/2004 21:57:04

comment on fé pour lister les fichier ? j'arrive pas a recuperer juste le nom du fichier ou du repertoir !!!
ou avoir la taille par exemple !!!

signaler à un administrateur
Commentaire de bloom1 le 26/03/2005 22:06:02

Merci Yoman64, je me suis ramassé Visual Baic 6.0 Professional sur Internet et je suis en train de faire un Anti-Virus que je vais mettre bientôt à la disposition de tout le monde. Quest-ce qu'il fait mon Anti-Virus ? Bien quand quelqu'un se connecte au PC, il le refuse et quand il essaie d'envoyer un fichier, il refuse et il le réenvoi. Puis on peut même savoir son IP, le nom de son PC et ce qu'il envoi (si il utilise un programme de chat, ben on sait quel texte il nous envoi.)
En tk, vous aurez bientôt de grosses nouvelles !!!
P.S : ca faisait longtemps que j'avais plus VB et je m'ennuiyait lol
@+ la gagne
Bloom1
La programation, c'est top
Les languages que je fais et mon niveau :
Vb - moyen
PHP - très bon
Flash - débutant
C++ - poche ( c'est dur aussi )
ASM - débutant (je fais un OS mais il veut pas loader de sa disquette)
Bah c'est tout !!!

signaler à un administrateur
Commentaire de vbkent1graph le 17/05/2005 20:07:47

cool ton tuto  (10/10)merci beaucoup mais comment on fait pour connecter plusieur client au serveur ?

signaler à un administrateur
Commentaire de salazar le 08/06/2005 12:49:18


Très bien : 10/10.

Cependant, j'ai appris qu'il existe des "astuces" pour utiliser les winsocks et éviter les erreurs de connexion. Comme je débute en winsock, je préfère ne rien dire pour ne pas semmer le doute. Mais, si un expert en winsocks en connait qu'il partage son savoir.

signaler à un administrateur
Commentaire de bloom1 le 08/06/2005 18:00:23

Pour les erreurs tu utilises la fonction error de Winsock1_error.
Je sais pas comment les chiffres d'erreurs sont mais en tout cas lol!

signaler à un administrateur
Commentaire de bios4c44 le 31/10/2005 22:30:07

Oh mon dieu le massacre de l'orthographe !!!!! C'est de la folie j'arrive même plus à lire ce qu'il y a d'écrit...

-> Avant de valider votre commentaire merci de le relire (2 fois s'il le faut) afin d'éviter un maximum de fautes d'orthographe et de français.

signaler à un administrateur
Commentaire de ZargouV le 28/06/2006 00:54:26

Bonjour je suis très débûtant en Visual Basic j'aimerais savoir dans quoi on marque les codes WINSOCK sa semble un peu stupide pour vous parce que vous conesser ça mais si quelqun peu me dire ça se serais plaisant merci d'avance :)

-:ZargouV:-

signaler à un administrateur
Commentaire de gui4242 le 31/07/2006 09:48:41

bonjour
Ta source est clair et bien expliquée, je te met 10/10 mais cependant fais attention aux fautes d'orthographe.
cordialement

signaler à un administrateur
Commentaire de vxn772 le 12/03/2007 20:38:21

Très bon tutoriel. Bien expliqué, clair, bien structuré. Même remarque pour le téléchargement de fichiers. Pourtant j'ai encore une question. Comment récupère-t-on la vitesse de la connexion entre un serveur et le client.

Merci d'avance

signaler à un administrateur
Commentaire de djgab21 le 14/06/2008 12:59:45 10/10

Merci pour ce tuto, il est très bien expliqué et je viens d'apprendre plein de nouveaux truc sur Winsock !

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.