Timeout TCP

alexixlebaulois Messages postés 6 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 1 août 2005 - 23 juin 2004 à 10:10
alexixlebaulois Messages postés 6 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 1 août 2005 - 23 juin 2004 à 16:22
Bonjour,

j'ai un gros problème dans mon prog: j'ai plusieurs threads qui communiquent en même temps avec des logiciels externes pour récolter des stats. La communication se fait par TCP de la manière suivante:
// Socket creation
skt_client = socket(AF_INET, SOCK_STREAM, 0);
if(skt_client == INVALID_SOCKET)
     throw string("ERROR");
// Socket connection
if(connect(skt_client, (SOCKADDR *)&sin_client, sizeof(sin_client)) != SOCKET_ERROR)
{
// Creating message to be sent
message[0] = ...;
message[1] = ...;
message[2] = ...;
message[3] = ...;
message[4] = ...;
if(send(skt_client, message, 5, 0) == SOCKET_ERROR)
     throw string("ERROR");
if(recv(skt_client, message, BUFFER_LENGTH, 0) != SOCKET_ERROR)
{
     cout << "OK" << endl;
}


Le problème c'est que de temps en temps le script s'arrête entre le
send 
qui n'affiche pas d'erreur et le
recv
, ce qui bloque tout mon prog. Je pense qu'il s'agit du timeout qui n'a pas lieu mais je ne sais pas comment résoudre le problème. Quelqu'un pourrait m'aider s'il vous plait ?

1 réponse

alexixlebaulois Messages postés 6 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 1 août 2005
23 juin 2004 à 16:22
Pour ceux que le sujet intéresse j'ai trouvé la réponse sur le forum. Suivez ce lien :
http://www.cppfrance.com/forum.v2.aspx?ID=247213
Bon courage à tous... 8-)
0