Bonjour,
J'ai un problème, je n'arrive pas à détecter quand la connection à la socket est down.
Par down j'entends que je débranche le cable ethernet entre mes deux machines qui discutent par socket.
A savoir que :
Ma socket est non bloquante :
fcntl(sock, F_SETFL, O_NONBLOCK | fcntl(sock, F_GETFL));
j'ai essayé ceci pour pouvoir déterminer si la connection est down :
( ce bout de code tourne dans une boucle infinie dans un thread )
1 2 3 4 5 6 7 8 9
|
res = read(sock, msg, sizeof(msg));
if (res == 0) {
cout << "socket deconnecté 1" << endl;
}
if ( errno == EAGAIN ) {
cout << "socket deconnecté 2" << endl;
} |
J'ai dans l'idée de detecter cela pour, en cas de deconnection faire régulièrement des tentatives de reconnection, ainsi mon programme sera autonome.
Merci de me faire par de vos idées, je me retrouve un peu désarmé face à la situation.
Partager