Такая беда
у меня есть самый преметивный сервер ,,,,, server = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); sockaddr_in local; memset(&local, 0, sizeof(local)); local.sin_family = AF_INET; local.sin_port = htons(4012); local.sin_addr.s_addr = htonl(INADDR_ANY); ,,,,, if( bind(server, (sockaddr*)(&local), sizeof(local))!=0 ) {....} if( listen(server, 10)!=0 ) {....} while client = accept(server,(sockaddr*)&from, (socklen_t*)&fromLen); while (1) { sizein = recv (client,in,1000*sizeof(char)); ..... if ((strncmp (in,"quit",4))==0) { break;} ....
send(client, out, strlen(out)+1, 0); } ..............
конекчусь к нему телнетом/ И если просто рву соединение (закрываю окно в котором телнет ) то сервер перестает останавливаться на recv и бесконечно крутиться в цикле!
Как отследить такой момент и выйти из цикла в данном случае!
PS! Пробовал перехватывать сигнал SIGPIPE - не спасает его нет/