소켓이 아니다라는 에러??
글쓴이: ddoman / 작성시간: 금, 2003/05/02 - 6:46오후
뭐..리눅스는 아닌데 그래두 물어볼곳이 마땅치않아서요..^^
리눅스기반의 클라이언트 프로그램에서
XP기반의 서버프로그램에 접속시 일어나는 문제입니다.
xp에 있는 서버프로그램에선
listen을 하고있다가..클라이언트에서 연결요청이 오면 당근
accept가 호출됩니다..
accept가 성공적으로 리턴을 하고
서버에서는 setsockopt로 타임아웃을 걸고, read를 호출하는데..
가끔!!..
정말 가끔이요..
setsockopt에서 에러가 리턴됩니다.
에러값이 황당하더군요..
MSDN에서 찾아보니깐 넘겨진 기술자가 소켓이 아니라네요..
man page에서 찾아보니 ENOTSOCK이네요...
물론 에러가 난 setsockopt이후에 호출되는 read에서도 당근
에러가 떨어집니다..
질문을 정리해보면
서버에서 리슨을 하고있다가 클라의연결요청을 성공적으로 accept하였음에도
불구하고 곧이어 호출되는 setsockopt에선 소켓기술자가 소켓이 아니라는
에러가 나옵니다.
이게 아주 간헐적으로..하루에 한번쯤??
나옵니다..
뭔가 공통된 규칙을 찾아보려 애썼지만 정말찾기가 어렵더군요..
뭔가 도움을 얻었음 좋겠습니다.
비슷한 경험이나 알고계신 정보가 계시면 가차없이 답글을...
즐프~
Forums:
해당부분 소스를 조금만 올려 주시죠. ^^
해당부분 소스를 조금만 올려 주시죠. ^^
---
http://coolengineer.com
댓글 달기