J'ai écrit une application de dialogue TCP/IP entre un serveur (Linux) et le client : mon PC en Win 7, en utilisant mon vieux VB6 Initiation. J'utilise donc ws2_32.dll. Dans un premier temps, j'ai fait simple, et ça marche.
Maintenant, je veux lancer le client sans attendre que le serveur ait démarré : il faut donc passer au mode non-bloquant.
J'ai d'abord cru que je pouvais appeler "connect" de façon récurrente, mais non ! Il faut lancer "connect", puis tester le résultat de façon récurrente avec "select".
Je prépare donc deux fd-sets : WritS et ErrS, avec juste une valeur, ma socquette, et un timeval : Timout, et je lance :
ret=select(0, NULL, WritS, ErrS, Timout)
Je reçois ret=-1, et WSAGetLastError me dit WSAENOTSOCK !