CGI 화면 출력관련 질문드려요~!
글쓴이: carosy / 작성시간: 화, 2012/07/31 - 8:00오후
안녕하세요.
리눅스C를 이용해서 인터넷화면(익스플러로)에 출력을 하고 있는데요.
문제의 요지는 이렇습니다.
소켓통신을 하여, 요청을 하고 응답을 하여 결과물을 화면에 출력하기를 반복하고 있습니다만,
화면에 출력되는 값이 길면, 한번에 출력이 되구요. 짧으면 버퍼가 쌓인후에 출력이 됩니다.
그러니깐,
while(1)
{
소켓 리딩;
소켓 쓰기;
for(i = 0; i < NUM_CHANNELS; i++)
{
printf("Motion%02d:%d\r\n", i, cgi_motion->cams[i].state);
}
fflush(stdout);
sleep(1);
}
이렇게 출력을 하면 계속해서 출력이 되는데요,
for문없이 printf한줄만 출력할려고 하면, 바로 출력이 되지 않습니다..
원인은 정확히 모르겠지만, 버퍼쪽이 원인인듯 싶은데,,, 정확히 잘 모르겠습니다.
원인을 알아야 해결방법을 모색할텐데, 도무지 머리가 안돌아가네요 ㅠㅠ
그리고, 화면에 출력하는데, printf가 끝날때마다 화면을 지우고 싶은데 어떻게 해야하나요..
system("clear")는 콘솔이라 안되는거 같구요.. ㅠㅠ
고수님들 부탁드립니다 (__)a
Forums:
[내용추가] 제발 부탁드립니다..
제가 알고싶은것은, printf에 라인이 길게 출력되면 바로 출력이 되고,
짧으면 왜 바로 출력이 안되는건지..
setvbuf도 해보고 다 해보고있지만 정말 안되네요 ㅠㅠ
어찌어찌 여까지 버틴거같지만,,,
댓글 달기