recv

dreamer의 이미지

다음과 같이 while()문안에서 계속 동작하다가 recv를 하여 변하는 변수에 따라 달리 동작 하도록 적용 하는 방법은
무엇인가요?

while(1)
{
    recv(&data);
    
    if(data == changed)
        data copy(some operation);
    else
        break;
}

즉 recv에서 기다리지 않고 어떤 동작을 하다가 recv에서 입력을 받으면
그에대해 처리 하는 방법은 무엇인가요?
혹시
while(1)
{
    select(..., timeval =0);
    recv(&data);
    
    if(data == changed)
        data copy(some operation);
    else
        break;
}

위 처럼 select의 timeval을 '0'으로 설정해서 바로 리턴 되도록 하는 방법이 있을 것같은데..
혹 다른 방법이 있나요...
아니면 이방법을 많이 쓰나요?
정태영의 이미지

흠 원하시는게 이거일지는 모르겠찌만 =3=33

소켓을 논블럭으로 열어보세요 =3=33

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

dreamer의 이미지

socket은
하나 열어 놓고...
recv는 두번 하거든요..

while()
{
    recv()
    
    if(some case)
        while(1)
            recv()
        break;
}

이런 식이거든요..
socket은 한번 열고 하고 싶은데...