LoUsKy
Messages postés16Date d'inscriptionmardi 23 juillet 2002StatutMembreDernière intervention22 août 2002
-
12 août 2002 à 15:27
damienvi
Messages postés5Date d'inscriptionlundi 29 mars 2004StatutMembreDerniè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.
damienvi
Messages postés5Date d'inscriptionlundi 29 mars 2004StatutMembreDerniè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és1Date d'inscriptionlundi 18 août 2003StatutMembreDernière intervention24 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és329Date d'inscriptionjeudi 3 janvier 2002StatutMembreDernière intervention 7 octobre 2005 25 août 2002 à 08:44
Bon tutorial, bien présenté et suffisament commenté. 10/10
lolokill666
Messages postés28Date d'inscriptionsamedi 4 mai 2002StatutMembreDernière intervention14 août 2002 13 août 2002 à 22:52
Pas mal la comparaison ! lol
ADN733R
Messages postés63Date d'inscriptionmardi 15 mai 2001StatutMembreDernière intervention14 mai 2004 13 août 2002 à 12:59
lol
Derrick soft
Messages postés97Date d'inscriptionjeudi 10 mai 2001StatutMembreDernière intervention20 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és530Date d'inscriptionlundi 3 juin 2002StatutMembreDernière intervention13 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és97Date d'inscriptionjeudi 10 mai 2001StatutMembreDernière intervention20 juin 2005 12 août 2002 à 15:34
Bonjour,
Ping, recherche de nom DNS, résolution d'adresse IP.
Cordialement
LoUsKy
Messages postés16Date d'inscriptionmardi 23 juillet 2002StatutMembreDernière intervention22 août 2002 12 août 2002 à 15:27
1 avril 2004 à 21:00
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 ;)
24 mars 2004 à 19:39
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
25 août 2002 à 08:44
13 août 2002 à 22:52
13 août 2002 à 12:59
13 août 2002 à 11:45
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
13 août 2002 à 11:31
Ch'ui daccord avec LoUsKy, Concretement, ca sert à koi ?
12 août 2002 à 15:34
Ping, recherche de nom DNS, résolution d'adresse IP.
Cordialement
12 août 2002 à 15:27