1
에서 동의 오류 번호가 나는 사람 페이지에서 지금까지는 어디 :: 여기 socket.h
socklen_t cli_size;
struct sockaddr cli;
int in_sock;
/* event from TCP server socket, new connection */
cli_size = sizeof(cli);
try {
if ((in_sock = ::accept(handle,&cli, &cli_size)) < 0) {
throw in_sock;
return NULL;
}
}
catch(int ex) {
cout << "Exception Nr. " << ex << endl;
}
무슨이다 :
오류에, -1이 반환되고, errno는 적절하게 설정하십시오.
질문 : 나는 아직도 어디에서 errno인지 이해할 수 없습니까? 예외를 이해해야합니다.
감사합니다. 5 분 후에 승인합니다. 결과 : 오류 코드 24 (너무 많은 열린 파일) ... 와우, 이해할 수없는 것입니다. 소켓 ... 파일 ... – Cynede
@ Linux 시스템에서 (소켓과 같은) 소켓은 다른 것입니다 파일 디스크립터를 사용하고 일반 파일과 동일한 테이블을 사용합니다. 이 오류는 1000 개가 넘는 연결 및/또는 파일이 열려 있다는 것을 의미합니다. 이는 사용 후 연결 및 파일을 제대로 닫지 않았 음을 나타낼 수 있습니다. –
아하, 고맙다, 내 스레드가 잘못 작동했다. – Cynede