Api Winsock

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Api Winsock

Message par poshu »

J'ai encore besoin d'aide T_T

J'utilise en ce moment l'api Winsock, et jusque là tout va bien.
Il se trouve cependant que l'api Winsock n'est pas completement implémenté: j'ai besoin de la commande Poll pour pouvoir mettre un timeout à l'attente d'un packet sur mon socket (mon application est séverement multithreadé, et je ne peux pas me permettre d'en rajouter).
J'ai donc pensé à appeler la librairie winsock directement pour récuperer la commande poll et l'appeler avec un callcfunctionfast(). Mais là j'ai encore eu un probleme puis ce que windows hurle à la mort que Winsock.dll (situé dans le dossier WINDOWS\system32 et "directement appelable" puis ce qu'enregistré) n'est pas une image windows valide...

Image

Auriez vous une solution au probleme svp?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ha oui ! :D je reconnais bien la le message d'erreur :lol: :lol:

un windows comme ça pour moi c'est du Chinois :lol:
flype2
Messages : 9
Inscription : dim. 05/nov./2006 10:54
Localisation : France, Nantes

Message par flype2 »

et as-tu essayé avec Import/EndImport ?

Code : Tout sélectionner

;- 
;- Windows Socket API Reference
;-
;- Client:   Included in Windows XP, Windows 2000 Professional, Windows NT Workstation, Windows Me, Windows 98, and Windows 95.
;- Server:   Included in Windows Server 2003, Windows 2000 Server, And Windows NT Server.
;- Header:   Declared in Winsock2.h.
;- Library:  Use Ws2_32.lib.
;- 


Import "Ws2_32.lib"
  bind.l(*socket, name.s, namelen.l)
  recv.l(*socket, *buf, buflen.l, flags.l)
EndImport

End
par contre j'ai vu sur msdn, il n'y a apparemment pas de fonction 'poll()'.



PS:
c'est bien moi - flype - mais mon compte s'est désactivé tout seul
parce que j'ai voulu changer mon adresse email. :evil: j'attends une réponse de fred.
Image Image
flype2
Messages : 9
Inscription : dim. 05/nov./2006 10:54
Localisation : France, Nantes

Message par flype2 »

ou alors ouvre la dll comme çà :

Code : Tout sélectionner

OpenLibrary(#PB_Any, "Ws2_32.dll")
Image Image
flype2
Messages : 9
Inscription : dim. 05/nov./2006 10:54
Localisation : France, Nantes

Message par flype2 »

ah si, il y a bien poll() du moins WSAPoll() :

Code : Tout sélectionner

Import "Ws2_32.lib"
  WSAPoll.l(*fdarray, nfds.l, timeout.l)
EndImport
Image Image
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

La classe, il utilise progitodo :)
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

Merci flype, je ne connaissais meme pas la fonction import... Désolé T_T

Progi, j'utilise le progitodo et je te remerci d'ailleur d'avoir pondu ca. il est vraiment top.
Répondre