PROGRAMMATION WSOCK32 EN VISUAL BASIC

LoUsKy Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 22 août 2002 - 12 août 2002 à 15:27
damienvi Messages postés 5 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 1 avril 2004 - 1 avril 2004 à 21:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/4283-programmation-wsock32-en-visual-basic

damienvi Messages postés 5 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 1 avril 2004
1 avril 2004 à 21:00
Bonjour,


Je pose le décor : je veux faire de la communication entre un PC et un automate sous une couche TCP IP.

Pour ce faire, j'utilise l'API de windows (wsock32.dll) car je ne veux pas utiliser le contrôle winsock OCX, j'ai bien compris qu'il fallait :

1) initialiser la dll avec
Declare Function WSAStartup Lib "wsock32" _
(ByVal wVersionRequired As Integer, _
wsData As WSA_DATA) As Long

2) créer le socket avec
Declare Function Socket Lib "wsock32.dll" Alias "socket" _
(ByVal afinet As Integer, _
ByVal socktype As Integer, _
ByVal protocol As Integer) As Long

3) connecter le socket avec
Declare Function connect Lib "wsock32" _
(ByVal sock As Long, _
name As SOCK_ADDR, _
ByVal namelen As Integer) As Long

4) Envoyer un message sur le pc distant avec
Declare Function send Lib "wsock32" _
(ByVal sock As Long, _
buffer As Any, _
ByVal length As Long, _
ByVal flags As Long) As Long


Mais c'est maintenant que ça se complique, car avec le "client" crée ci dessus, je voudrais créer un évènement lors d'une réception d'un message par le serveur sur lequel je suis connecté.
Je crois avoir compris (mais là, je suis moins sur) que :

1) on peut analyser les évènemtns qui affectent un socket avec :
Declare Function WSAAsyncSelect Lib "wsock32.dll" _
(ByVal sock As Long, _
ByVal hwnd As Long, _
ByVal wMsg As Integer, _
ByVal lEvent As Long) As Integer
mais je ne sais pas trop m'en servir, à cause de hwnd.

2) on lit le message du socket reçu avec :
Declare Function recv Lib "wsock32" _
(ByVal sock As Long, _
buffer As Any, _
ByVal length As Long, _
ByVal flags As Long) As Long


Mon problème est donc le suivant :
comment avoir un évènement (du type "Data_arrival" du contrôle winsock) qui me réveille afin que je puisse utiliser ma fonction recv pour lire dans mon socket.


Merci pour le Share ;)
Je suis automaticien et pas informaticien, soyez indulgent ;)
cs_pechau Messages postés 1 Date d'inscription lundi 18 août 2003 Statut Membre Dernière intervention 24 mars 2004
24 mars 2004 à 19:39
salut

moi je voudrai savoir si on peut se connecter a un pc distant avec winsock , entre autre par le netbios port 139
??

merci d avance
cs_Mercury Messages postés 329 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 7 octobre 2005
25 août 2002 à 08:44
Bon tutorial, bien présenté et suffisament commenté. 10/10
lolokill666 Messages postés 28 Date d'inscription samedi 4 mai 2002 Statut Membre Dernière intervention 14 août 2002
13 août 2002 à 22:52
Pas mal la comparaison ! lol
ADN733R Messages postés 63 Date d'inscription mardi 15 mai 2001 Statut Membre Dernière intervention 14 mai 2004
13 août 2002 à 12:59
lol
Derrick soft Messages postés 97 Date d'inscription jeudi 10 mai 2001 Statut Membre Dernière intervention 20 juin 2005
13 août 2002 à 11:45
Bonjour,

Un exemple :
Donne moi le nom de l'adresse 215.201.192.99 avec un programme VB.

Ceci est une introduction pour les personnes qui sont intéressé par la programmation Winsock 32. Donc si vous n'êtes pas intéressé, ça ne vous sert à rien.

Si vous voulez c'est un peu comme les végétariens, les boucheries ne leurs servent à rien, mais sa existe quand même.

Cordialement
Alan71 Messages postés 530 Date d'inscription lundi 3 juin 2002 Statut Membre Dernière intervention 13 juin 2004
13 août 2002 à 11:31
L'inspecteur Derrick, ki lpouvais le croire de retour !

Ch'ui daccord avec LoUsKy, Concretement, ca sert à koi ?
Derrick soft Messages postés 97 Date d'inscription jeudi 10 mai 2001 Statut Membre Dernière intervention 20 juin 2005
12 août 2002 à 15:34
Bonjour,

Ping, recherche de nom DNS, résolution d'adresse IP.

Cordialement
LoUsKy Messages postés 16 Date d'inscription mardi 23 juillet 2002 Statut Membre Dernière intervention 22 août 2002
12 août 2002 à 15:27
oui , c bien , mais a koi ca sert ?
Rejoignez-nous