ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : Code>C>read_wait



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

  1. read_wait
  2. ½Ã°£Á¦ÇÑÀ» °¡Áø Ç¥ÁØÀÔ·Â ÇÔ¼ö
  3. yundream
  4. Version 0.2
  5. 2004/01/27


¼³¸í

select(2)¸¦ ÀÌ¿ëÇÑ ½Ã°£Á¦ÇÑ ±â´ÉÀ» °¡Áø Ç¥ÁØÀÔ·ÂÀ» ¹Þ¾ÆµéÀÌ´Â ÇÔ¼ö ÀÔ´Ï´Ù. ÇÊ¿äÇÒ ¶§ ¸¶´Ù select(2)¸Þ´º¾óÀ» µÚÀûÀ̸鼭 ´Ù½Ã ¸¸µé¾î¾ß µÇ´Â°Ô ±ÍÂú¾Æ¼­ °£´ÜÇÏ°Ô ÇÔ¼öÈ­ ½ÃÄ×½À´Ï´Ù.

»ç¿ë¹æ¹ý

int read_wait(char *buf, size_t size, int sec) 
 
  1. buf : ÀÔ·ÂµÈ µ¥ÀÌÅ͸¦ ÀúÀåÇÒ °ø°£
  2. size : ÀоîµéÀÏ µ¥ÀÌÅÍÀÇ Å©±â
  3. sec : ½Ã°£Á¦ÇÑ(´ÜÀ§ : ÃÊ)
  4. ¸®Åϰª : ¼º°øÇϸé ÀоîµéÀÎ µ¥ÀÌÅÍÀÇ Å©±â¸¦ ¸®ÅÏÇϰí, ŸÀӾƿôÀÌ ¹ß»ýÇßÀ» ¶§´Â -1À» ¸®ÅÏÇÑ´Ù.

int main() 
{ 
    char buf[80] = {0x00,}; 
    int n; 
    if ((n = read_wait(buf, 80, 5)) < 0) 
     
       printf("Time out\n"); 
    } 
    else 
    { 
        printf("%s\n", buf); 
    } 
} 
 

ÄÚµå

#include <sys/select.h> 
#include <sys/types.h> 
#include <unistd.h> 
 
int read_wait(char *buf, size_t size, int sec) 
{ 
    fd_set rfds; 
    struct timeval tv; 
    int n, retval; 
 
 
    FD_ZERO(&rfds); 
    FD_SET(0, &rfds); 
    tv.tv_sec = sec; 
    tv.tv_usec = 0; 
 
    retval = select (1, &rfds, NULL, NULL, &tv); 
    if (retval) 
    { 
        n = read(0, buf, size); 
        return n; 
    } 
    else 
    { 
        return -1; 
    } 
} 
 

º¯°æ»çÇ×

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.