Se connecter a un serveur sous windows et utilise wsaasyncselect

Contenu du snippet

Voici une fonction qui permet de se connecte a un serveur et vérifier ensuite l'état de la socket lors qu'un msg dans la fonction callback. Indispensable pour coder une socket en win32
La fonction callback de la fenetre ayant l'handle que vous avez entrer recevra le msg lors de l'arrivé d'un msg

Source / Exemple :


#include <windows.h>
#include <winsock.h>

#define C_BON 1

#define ERR_CONNECT 10
#define ERR_CREATION_SOCKET 17

int Connection(SOCKET *s, SOCKADDR_IN *info, char adresse[], int port, unsigned int msg, HWND Hwnd) {
int err;
struct hostent *host;

info->sin_family = PF_INET;
info->sin_port = htons(port);
info->sin_addr.s_addr = inet_addr(adresse);

if (info->sin_addr.s_addr = -1)
   { host = gethostbyname(adresse);
     memcpy((char *)&info->sin_addr.s_addr, host->h_addr, host->h_length);
   }
if ((*s = socket(PF_INET, SOCK_STREAM, 0)) == -1)
   {
   return ERR_CREATION_SOCKET;
   }
if ((err = connect(*s, (struct sockaddr *)info, sizeof(*info))) == -1)
   {
   return ERR_CONNECT;
   } else
   {
   WSAAsyncSelect(*s , Hwnd, msg, FD_READ);
   return C_BON;
   }
}

Conclusion :


Marche sous VC++ 6.0 et DevC++

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.