Bonjour � tous,
Voil� je d�veloppe sur VC++ 6.0 en MFC.
J'utilise l'API mysql++.
Mon programme � l'appui sur un bouton utilise une m�thode qui cr�e une Socket Serveur qui se met � l'�coute d'un poste distant (appel� Superviseur). Lorsque le message est re�u la m�thode envoie comme r�sultat une cha�ne DataPacket qui est utilis� dans une autre m�thode pour r�cup�rer un "cycle" (un ensemble de valeurs) gr�ce � des requ�tes SQL :
SocketServeur :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
CString C_Serveur::ServerConnection(int iListenPort)
{
//fonction serveur
SocketObject ServerSocketObject ;
SocketObject ClientSocketObject ;
char DataPacket[128] ; // Paquet de données à recevoir
int iBytesReceived ; // # d'octets reçus
// tentative de lancement du serveur
if (ServerSocketObject.Bind(iListenPort))
{
AfxMessageBox("Tentative d'écoute sur le port");
// Ecoute sur le port
ServerSocketObject.Listen();
// Acceptation de connexion
ServerSocketObject.Accept(ClientSocketObject);
// Reception de données
iBytesReceived = ClientSocketObject.Recv(DataPacket, 128, 0);
// char* nom_operateur ;
// strcpy (nom_operateur, nom_BDD) ;
// iBytesReceived = ClientSocketObject.Send(nom_operateur, 128, 0);
}
else
{
AfxMessageBox("<Serveur> : Connexion impossible") ;
}
CString reponse;
ServerSocketObject.Disconnect();
ClientSocketObject.Disconnect();
reponse.Format("%s", DataPacket);
return reponse ;
} |
la fonction recup_cycle utilise seulement des :
- mysql_real_connect
- mysql_close
- mysql_query
Mon probl�me :
Les deux m�thodes ne marchent pas entre elles :
Lorsque j'utilise la m�thode recup_cycle (MySQL) seul, elle marche niquel
Lorsque j'utilise la Socket Server seul, elle marche niquel
Les deux foirent, pas � la compilation mais � l'ex�cution, lorsque j'ai cr�e ma Socket et que je fais appelle aux fonctions sql, il me dis que je n'ai pas de BDD :
L'instruction à "0x10006db5" emploie l'adresse mémoire "0x00000014". La mémoire ne peut pas être "read".
Et quand je lance le Debugger il me met
Unhandled exception in TabCtrl.exe (LIBMYSQL.DLL) : 0xC0000005: Access Violation.
Voil� si vous avez une id�e 8)
Partager