OVH Cloud OVH Cloud

ioctlsocket

1 réponse
Avatar
am
Bonjour à tous ..
Je dois porter mon appli de Visual C++ vers VB.NET pour des tests.

J'ai besoin pour cela de creer un objet de la classe Net.sockets.socket de
.Net à partir d'un Handle SOCKET de Win32 mais apparement ce n'est pas
possible (Si oui je suis preneur ...)

Malgré tout, je n'ai que besoin de savoir si il y a des données dans ma
socket. Pour cela je dois d'abord passer ma SOCKET en mode non bloquant en
utilisant ioctlsocket. J'ai déjà eu à utiliser cette fonction plusieurs fois
sans problème. Seulement j'ai du mal à calculer la valeur de la constante
FIONBIO en VB.
Voici le détail du calcul ....
Pour vous FIONBIO vaut combien ?

Code:

#define IOCPARM_MASK 0x7f /* parameters must be < 128
bytes */

#define IOC_IN 0x80000000 /* copy in parameters */

#define _IOW(x,y,t)
(IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))

#define FIONBIO _IOW('f', 126, u_long) /* set/clear non-blocking
i/o */

1 réponse

Avatar
François Picalausa
Bonjour/soir,

<Mauvais groupe - réponse standard>
Ce groupe est dédié à VB6 et à ses versions antérieurs. Pour obtenir de
l'aide sur VB.NET ou tous autre produit .NET, pose tes questions dans
les groupes contenant le terme "dotnet" ou "vsnet", tel que :

microsoft.public.fr.dotnet.vb
</Mauvais groupe - réponse standard>

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

am wrote:
Bonjour à tous ..
Je dois porter mon appli de Visual C++ vers VB.NET pour des tests.

J'ai besoin pour cela de creer un objet de la classe
Net.sockets.socket de .Net à partir d'un Handle SOCKET de Win32 mais
apparement ce n'est pas possible (Si oui je suis preneur ...)

Malgré tout, je n'ai que besoin de savoir si il y a des données dans
ma socket. Pour cela je dois d'abord passer ma SOCKET en mode non
bloquant en utilisant ioctlsocket. J'ai déjà eu à utiliser cette
fonction plusieurs fois sans problème. Seulement j'ai du mal à
calculer la valeur de la constante FIONBIO en VB.
Voici le détail du calcul ....
Pour vous FIONBIO vaut combien ?

Code:

#define IOCPARM_MASK 0x7f /* parameters must be <
128 bytes */

#define IOC_IN 0x80000000 /* copy in parameters */

#define _IOW(x,y,t)
(IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))

#define FIONBIO _IOW('f', 126, u_long) /* set/clear
non-blocking i/o */