WSADATA Wsa; sockaddr_in sin; WSAEVENT WsaEvent[1]; WSANETWORKEVENTS NetworkEvent; int breakpoint =0; if(WSAStartup(MAKEWORD(2,2),&Wsa)) return 0; SocketDL = socket(AF_INET, SOCK_STREAM, 0); sin.sin_family = AF_INET; sin.sin_port = htons(80); sin.sin_addr.S_un.S_addr = inet_addr("192.168.1.150"); WsaEvent[0] = WSACreateEvent(); WSAEventSelect(SocketDL, WsaEvent[0], FD_READ | FD_CONNECT | FD_CLOSE); connect(SocketDL, (sockaddr*)&sin, sizeof(sin)); while(!breakpoint) { memset(&NetworkEvent, 0, sizeof(NetworkEvent)); WSAWaitForMultipleEvents(1, WsaEvent, 0, WSA_INFINITE, 0); WSAEnumNetworkEvents(SocketDL, &WsaEvent[0], &NetworkEvent); switch (NetworkEvent.lNetworkEvents) { case FD_CONNECT: MessageBox(NULL,"Message FD_CONNECT recu","chemin",MB_OK); break; } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionWSADATA Wsa; sockaddr_in sin; WSAEVENT WsaEvent[1]; WSANETWORKEVENTS NetworkEvent; if(WSAStartup(MAKEWORD(2,2),&Wsa) != NO_ERROR) MessageBox(NULL,"Impossible de charger WSA","chemin",MB_OK); if ( (SocketDL socket(AF_INET, SOCK_STREAM, 0)) INVALID_SOCKET ) MessageBox(NULL,"Socket Invalide","chemin",MB_OK); sin.sin_family = AF_INET; sin.sin_port = htons(80); sin.sin_addr.S_un.S_addr = inet_addr("192.168.1.150"); WsaEvent[0] = WSACreateEvent(); if ( WsaEvent[0] == WSA_INVALID_EVENT ) MessageBox(NULL,"Probleme de CreatEvent","chemin",MB_OK); if ( (WSAEventSelect(SocketDL, WsaEvent[0], FD_READ | FD_CONNECT | FD_CLOSE)) == SOCKET_ERROR ) MessageBox(NULL,"Probleme de EventSelect","chemin",MB_OK); if ( (connect(SocketDL, (sockaddr*)&sin, sizeof(sin))) == SOCKET_ERROR ) MessageBox(NULL,"Probleme de connecxion","chemin",MB_OK); while(!breakpoint) { memset(&NetworkEvent, 0, sizeof(NetworkEvent)); if ( (WSAWaitForMultipleEvents(1, WsaEvent, 0, WSA_INFINITE, 0)) == WSA_WAIT_FAILED ) MessageBox(NULL,"Problème de WaitForMultipleEvents","chemin",MB_OK); if ( (WSAEnumNetworkEvents(SocketDL, &WsaEvent[0], &NetworkEvent)) == SOCKET_ERROR ) MessageBox(NULL,"Problème de EnumNetworkEvents","chemin",MB_OK); if(NetworkEvent.lNetworkEvents & FD_CONNECT) {MessageBox(NULL,"Message FD_CONNECT recu","chemin",MB_OK);} }