ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
HTML º¯È¯¹®¼
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> <chapter lang=ko> <!-- ÀÛ¼ºÀÚ : yundream --> <!-- ÀÛ¼ºÀÏ : 2004/01/03 --> <!-- ¿¬¶ôó : yundream@joinc.co.kr --> <!-- ÇÔ¼ö À̸§À» ÀÔ·ÂÇÕ´Ï´Ù --> <title>listen(2)</title> <!-- ÀÌ°Ç ÇÔ¼ö¿¡ ´ëÇÑ ´ë·«ÀûÀÎ ¼³¸íÀ̱¸¿ä --> <para> ¼ÒÄÏÀÇ ¿¬°á ´ë±â¿À» ¸¸µç´Ù. </para> <!-- ¿©±â¿¡ ÇÔ¼öÀÇ °£´ÜÇÑ »ç¿ë¹ýÀÌ µé¾î°©´Ï´Ù --> <section> <title>»ç¿ë¹ý</title> <para> <screen> #include <sys/socket.h> int listen(int s, int backlog); </screen> </para> </section> <!-- ¿©±â¿£ ÇÔ¼öÀÇ ÀÚ¼¼ÇÑ ¼³¸í ÀÌ µé¾î°©´Ï´Ù --> <section> <title>¼³¸í</title> <para> ¼¹öÃø ÇÁ·Î±×·¥Àº socket(2)ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ Ŭ¶óÀ̾ðÆ®ÀÇ ¿¬°áÀ» ¹Þ¾ÆµéÀÏ µè±â¼ÒÄÏÀ» ¸¸µé°Ô µÈ´Ù. Ŭ¶óÀ̾ðÆ®ÀÇ ¿¬°áÀº µè±â¼ÒÄÏÀ» ÅëÇØ¼ ÀÌ·ç¾îÁö´Âµ¥ Ŭ¶óÀÌ¾ðÆ®´Â connect(2)¸¦ È£ÃâÇØ¼ ¼¹ö¿¡ ¿¬°áÀ» ½ÃµµÇϰí, 3¹ø ¾Ç¼ö±â¹ýÀÌ ¼º°øÇÏ¸é ¼¹ö¿Í ¿ÏÀüÇÑ ¿¬°áÀÌ ¸¸µé¾î Áø´Ù. </para> <para> ¸¸µé¾îÁø ¿¬°áÀº queue¿¡ µé¾î°¡°Ô µÇ°í ¼¹öÃø¿¡¼ accept(2)¸¦ È£ÃâÇÏ¸é ºñ·Î¼ ¼¹ö´Â ¿¬°á¼ÒÄÏÀ» ¸¸µé°í ¸¸µé¾îÁø ¿¬°á¼ÒÄÏÀ» ÀÌ¿ëÇØ¼ Ŭ¶óÀÌ¾ðÆ®¿Í Åë½ÅÇÏ°Ô µÈ´Ù. </para> <para> listen(2) ½Ã½ºÅÛÈ£ÃâÀº SOCK_STREAM°ú SOCK_SEQPACKET¿¡¸¸ »ç¿ëµÈ´Ù. </para> <para> <emphasis>a</emphasis>´Â socket(2)¿¡ ÀÇÇØ¼ ¸¸µé¾îÁø µè±â ¼ÒÄÏÀÌ´Ù. <emphasis>backlog</emphasis>´Â ¿¬°áÀÌ ´ë±âÇÒ ¼ö Àִ ťÀÇ °¹¼öÀÌ´Ù. ¸¸¾à backlog¿¡ ¿¬°áÀÌ ¸ðµÎ Âù »óÅ¿¡¼ »õ·Î¿î ¿¬°áÀ» ½ÃµµÇÑ´Ù¸é, Ŭ¶óÀÌ¾ðÆ®´Â ECONNREFUSED ¿¡·¯¸¦ ¹Þ°ÔµÉ °ÍÀÌ´Ù. ¸¸¾à ÀçÀü¼ÛÀ» Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ´Ù¸é ¿¡·¯¸¦ ¹«½ÃÇÏ°í ¼º°øÇÒ ¶§±îÁö Àç½Ãµµ¸¦ ÇÏ°Ô µÈ´Ù. </para> </section> <!-- ÇÔ¼ö°¡ µÇµ¹·ÁÁÖ´Â °ªÀ̱¸¿ä --> <section> <title>¹Ýȯ°ª</title> <para> ¼º°øÇϸé 0À» ¸®ÅÏÇÏ°í ½ÇÆÐÇßÀ» °æ¿ì -1À» ¸®ÅÏÇϰí <emphasis>errno</emphasis> ¸¦ ¼³Á¤ÇÑ´Ù. </para> </section> <section> <title>¿¡·¯</title> <para> <variablelist> <varlistentry> <term>EADDRINUSE</term> <listitem> <para> ´Ù¸¥ ¼ÒÄÏÀÌ µ¿ÀÏÇÑ Æ÷Æ®¸¦ »ç¿ëÇϰí ÀÖ´Ù. </para> </listitem> </varlistentry> <varlistentry> <term>EBADF</term> <listitem> <para> <emphasis>s</emphasis>°¡ À߸øµÈ ¼ÒÄÏÁöÁ¤ÀÚÀÌ´Ù. </para> </listitem> </varlistentry> <varlistentry> <term>EOPNOTSUP</term> <listitem> <para> ¼ÒÄÏÀÌ listenÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. </para> </listitem> </varlistentry> <varlistentry> <term>ENOTSOCK</term> <listitem> <para> <emphasis>s</emphasis>°¡ ¼ÒÄÏÀÌ ¾Æ´Ï´Ù. </para> </listitem> </varlistentry> </variablelist> </para> </section> <!-- ¸¶Áö¸·À¸·Î ¿¡Á¦ ÀÔ´Ï´Ù --> <!-- ¿©±â¿¡´Â ¿ÏÀüÇÑ ¿¹Á¦°¡ µé¾î°¡ Àִµ¥, ±»ÀÌ ¿ÏÀüÇÑ ¿¹Á¦¸¦ ¸¸µéÇÊ¿ä ¾øÀÌ --> <!-- ÄÚµå ÀϺκи¸ ÀÛ¼ºÇؼ ¿Ã·ÁÁּŵµ µË´Ï´Ù --> <!-- "<", ">", "&" µîÀº º¯È¯ÇØ ÁÖ¼Å¾ß Çϴµ¥, ±ÍÂúÀ¸½Ã¸é :-) º¯È¯ ÇÏÁö ¾Ê --> <!-- ¾Æµµ µË´Ï´Ù. Á¦°¡ °Ë»ç ÇØ¼ ¿Ã¸®°Ú½À´Ï´Ù --> <!-- ¿¹Á¦¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸íÀ» Àû¾îÁּŵµ µÇ±¸¿ä --> <section> <title>¿¹Á¦</title> <para> <screen> #include <sys/socket.h> #include <sys/stat.h> #include <arpa/inet.h> #include <stdio.h> #include <string.h> int main(int argc, char **argv) { int server_sockfd, client_sockfd; int client_len, n; char buf[80]; struct sockaddr_in clientaddr, serveraddr; client_len = sizeof(clientaddr); if ((server_sockfd = socket (AF_INET, SOCK_STREAM, 0)) < 0) { perror("socket error : "); exit(0); } bzero(&serveraddr, sizeof(serveraddr)); serveraddr.sin_family = AF_INET; serveraddr.sin_addr.s_addr = htonl(INADDR_ANY); serveraddr.sin_port = htons(atoi(argv[1])); bind (server_sockfd, (struct sockaddr *)&serveraddr, sizeof(serveraddr)); listen(server_sockfd, 5); while(1) { memset(buf, 0x00, 80); client_sockfd = accept(server_sockfd, (struct sockaddr *)&clientaddr, &client_len); if ((n = read(client_sockfd, buf, 80)) <= 0) { close(client_sockfd); continue; } if (write(client_sockfd, buf, 80) <=0) { perror("write error : "); close(client_sockfd); } close(client_sockfd); } } </screen> À§ ÇÁ·Î±×·¥Àº Ŭ¶óÀ̾ðÆ®ÀÇ ¸Þ½ÃÁö¸¦ ÀÐ¾î¼ ±×´ë·Î Àç Àü¼ÛÇÏ´Â echo ÇÁ·Î±×·¥ÀÌ´Ù. </para> </section> <section> <title>°ü·Ã¹®Çå</title> <para> <orderedlist> <listitem> <para> <ulink url="http://www.joinc.co.kr/modules.php?name=News&file=article&sid=57">Socket Layer</ulink> </para> </listitem> </orderedlist> </para> </section> </chapter> |
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|