Bonjour,
Je programme un client réseau avec les sockets de wxWidget. Mais pourquoi ce code ne marche pas ?? (au niveau de sc.Write(..) : il me met une erreur (sc.Error() répond true), mais LastError me dit qu'il n'y a pas d'erreur... et ceci après le timeout de 20sec. le serveur quant à lui ne reçoit rien du tout. J'y comprend rien!!!).
Merci d'avance!
Ju
Le code :
----------------------------------
wxIPV4address adr_serveur;
adr_serveur.Hostname("127.0.0.1");
adr_serveur.Service(4000);
wxSocketClient sc(wxSOCKET_WAITALL);
sc.SetTimeout(20);
sc.Connect(adr_serveur, true);
if(!sc.IsConnected())
{
wxSocketError se=sc.LastError();
sc.Close();
return false;
}
char requete[2];
requete[0]='o';
requete[1]='k';
sc.Write(requete, 2);
if(sc.Error())
{
wxSocketError se=sc.LastError();
sc.Close();
return false;
}
char buffer[1024];
wxStreamBuffer data(wxStreamBuffer::read_write);
do
{
sc.Read(buffer, sizeof(buffer));
if(sc.Error())
{
wxSocketError se=sc.LastError();
sc.Close();
return false;
}
data.Write(buffer, sc.LastCount());
}while(sc.LastCount()!=0);
sc.Close();
---------------------------------