ioctlsocket 10038 에러
카테고리 없음 / 2017. 2. 18. 23:30
잘되던 코드가, 갑자기 에러가 난다. 여러가지 방법을 사용해 보았으나, 불필요한 디버깅 코드를 추가하여, 해결되었다.
int sSOCKET_get_rx_len(sSOCKET *ps)
{
#ifdef WIN32
unsigned long size;
#else
//int size;
#endif
#ifdef _DEBUG
int err;
err=GetLastError();
if(err!=0)//<<== 이코드를 넣어야, 에러가 발생하지 않는다...
{
err++;//<<== 이코드를 넣어야, 에러가 발생하지 않는다...
//err++;
}
#endif
if(ioctlsocket(ps->s,FIONREAD,&size)==0)
{
//ps->proc(ps,size);
return size;
}
else
{
//err
#ifdef WIN32
int err;
err=GetLastError();
if(err!=0)
{
err++;
}
//잘되던코드가 갑자기 ioctlsocket만 호출하면, 10038 에러가 발생한다. Socket operation on nonsocket.
#endif
sSOCKET_close(ps);
}
return 0;
}