bool mk_socket::Connect(const char *hostname,unsigned short port) { if (GetState()!=IDLE) { send_error(STATE_IS_NOT_IDLE); return false; } unsigned long ip=GetIP(hostname); if (ip==INADDR_NONE) { send_error(BAD_HOSTNAME); return false; } sockaddr_in sin=FillAddr(ip,port); sock = socket(PF_INET, SOCK_STREAM, 0); /************************************************************** IL FAUT CONTINUER A ECRIRE LA GESTION D'ERREURS A PARTIR DE LA. **************************************************************/ //Et voir comment traiter les code d'erreur renvoyé par la bibliothèque standard... if (sock==INVALID_SOCKET) return false; int ret=connect(sock,(sockaddr*)&sin,sizeof(sockaddr)); if (ret==0) { etat=CONNECTED; new_thread(mk_SckProc,this); if (OnConnect!=NULL) new_thread(mk_ConnectProc,this); return true; } else { close_socket(sock); return false; } }