수신되는 데이터 1바이트씩 실시간 처리하는 방법 문의

#1

안녕하십니까,

현재 WIZ200WEB 모듈 사용하고, 제공되는 Loopback 프로그램으로 간단히 테스트 중입니다.
제공된 프로그램을 보면,

case SOCK_ESTABLISHED:
if(getSn_IR(s) & Sn_IR_CON)
{
setSn_IR(s,Sn_IR_CON);
}
if((len=getSn_RX_RSR(s)) > 0)
{
len = recv(s,buf,len);
//if(len !=send(s,buf,len)){}

  // 여기에 처리하면 일정 크기의 버퍼에 저장된 후 넘어와서 1바이트 처리가 안되더군요

}
break;

데이터 수신이 되면 정해진 크기의 버퍼에 저장한 후 그 버퍼를 이용해서 추후 처리하도록 되어 있는데,
실시간으로 수신되는 시점마다 바로 1바이트씩 바로 처리/가공 하고 싶은데, 소스 중에서 어디를 수정하면 되는지 잘 모르겠네요.
버퍼 크기를 줄이거나, 메모리 사이즈 정하는 부분을 수정해도… 바로 처리는 잘안되네요;;

함수 또는 어떤 부분을 수정하면 되는지 조언 좀 부탁드립니다.^^

#2

if((len=getSn_RX_RSR(s)) > 0) 부분을 1바이트 수신으로 고친 후 처리하시면 될 것 같은데요.

if(getSn_RXR_RSR(s) > 0)
{
   if(1 != recv(s,buf,1))
   { 
      // ERROR 처리
   }
   else
   {
      // 1바이트 데이타 처리
   }
}
#3

보내는 데이터가 1byte씩 오나요??
그래서 바로바로 처리하고 싶으신건지 아니면 여러바이트의 데이터가 오는데 그중 1바이트를 읽고 처리하고 다시 그 다음 1바이트를 읽고 처리 하고 싶으신건가요??

전라라면 polling 방식이 아니라 인터럽트 방식으로 변경하면 W5300이 데이터를 수신하면 인터럽스 신호를 보내고 그것을 보고 바로 처리하면 될것 같습니다.