Se connecter a un serveur sous windows et utilise wsaasyncselect

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 067 fois - Téléchargée 37 fois

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

Ajouter un commentaire

Commentaire

cs_lol55
Messages postés
86
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
5 décembre 2010

Merci pour cet exemple!

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.