У меня есть скрученный сервер, который что-то делает, а затем закрывает соединение. Клиенты python понимают сКлиент C++ должен выяснить, что сокет был закрыт витым сервером
clientConnectionLost(self, connector, reason)
что соединение было закрыто и работает нормально. Однако у меня также есть клиент C++, взаимодействующий с тем же витым сервером. В настоящее время он, похоже, не понимает, что соединение/сокет было закрыто. Как я могу проверить это?
string tcp_client::receive(int size=1024)
{
char buffer[size];
string reply;
int msg = recv(sock , buffer , sizeof(buffer) , 0);
// Receive a reply from the server
if(msg < 0)
{
puts("recv failed");
// Exit the programm
exit(0);
}
reply = buffer;
return reply;
}
является кодом приема клиента C++. Как достичь той же/подобной функции clientConnectionLost с клиентом C++?
Пробовали ли вы улавливать 'SIGPIPE'? –
Извините, но это не значит для меня много ... Не могли бы вы немного разобраться? –