ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : docbook>socketpair(2)
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
HTML º¯È¯¹®¼
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> <chapter lang=ko> <!-- ÀÛ¼ºÀÚ : yundream --> <!-- ÀÛ¼ºÀÏ : 2004/02/09 --> <!-- ¿¬¶ôó : yundream@joinc.co.kr --> <!-- ÇÔ¼ö À̸§À» ÀÔ·ÂÇÕ´Ï´Ù --> <title>socketpair(2)</title> <!-- ÀÌ°Ç ÇÔ¼ö¿¡ ´ëÇÑ ´ë·«ÀûÀÎ ¼³¸íÀ̱¸¿ä --> <para> ¿¬°áµÈ ¼ÒÄÏ ½ÖÀ» »ý¼ºÇÑ´Ù. </para> <!-- ¿©±â¿¡ ÇÔ¼öÀÇ °£´ÜÇÑ »ç¿ë¹ýÀÌ µé¾î°©´Ï´Ù --> <section> <title>»ç¿ë¹ý</title> <para> <screen> #include <sys/types.h> #include <sys/socket.h> int socketpair(int d, int type, int protocol, int sv[2]); </screen> </para> </section> <!-- ¿©±â¿£ ÇÔ¼öÀÇ ÀÚ¼¼ÇÑ ¼³¸í ÀÌ µé¾î°©´Ï´Ù --> <section> <title>¼³¸í</title> <para> socketpair()Àº ¿É¼ÇÀ¸·Î <emphasis>d</emphasis>¿µ¿ª(domain)À» °¡Áö¸ç <emphasis>protocol</emphasis>ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ´Â <emphasis>type</emphasis>ÀÇ ¼ÒÄÏ ½ÖÀ» »ý¼ºÇÑ´Ù. »ý¼ºµÈ ¼ÒÄÏ ½ÖÀº <emphasis>sv</emphasis>¸¦ ÅëÇØ¼ ³Ñ¾î¿Â´Ù. µÎ°³ÀÇ ¼ÒÄÏÀº ¼·Î ±¸º°ÇÒ ¼ö ¾ø´Ù. </para> <para> º¸Åë ºÎ¸ð ÀÚ½Ä ÇÁ·Î¼¼½º°£ ³»ºÎ Åë½Å(IPC)¸¦ À§Çؼ »ç¿ëÇÑ´Ù. ¼ÒÄÏÀ̹ǷΠ¾ç¹æÇâ(Àаí/¾²±â) Åë½ÅÀÌ °¡´ÉÇÏ´Ù. </para> </section> <!-- ÇÔ¼ö°¡ µÇµ¹·ÁÁÖ´Â °ªÀ̱¸¿ä --> <section> <title>¹Ýȯ°ª</title> <para> ¼º°ø½Ã 0À» ¹ÝȯÇÏ°í ½ÇÆÐÇÒ °æ¿ì -1À» ¹ÝȯÇÑ´Ù. </para> </section> <section> <title>¿¡·¯</title> <para> <variablelist> <varlistentry> <term>EMFILE</term> <listitem> <para> ³Ê¹« ¸¹Àº ÆÄÀÏÀÌ ¿·ÁÀÖ¾î¼ ´õÀÌ»ó ¼ÒÄÏÀ» »ý¼ºÇÒ ¼ö ¾ø´Ù. </para> </listitem> </varlistentry> <varlistentry> <term>EAFNOSUPPORT</term> <listitem> <para> ÁöÁ¤ÇÑ ÁÖ¼Ò ÁöÁ¤¹æ½ÄÀÌ Áö¿øµÇÁö ¾Ê´Â´Ù. </para> </listitem> </varlistentry> <varlistentry> <term>EPROTONOSUPPORT</term> <listitem> <para> ÁöÁ¤µÈ ÇÁ·ÎÅäÄÝÀÌ Áö¿øµÇÁö ¾Ê´Â´Ù. </para> </listitem> </varlistentry> <varlistentry> <term>EFAULT</term> <listitem> <para> ÁÖ¼Ò <emphasis>ev</emphasis>°¡ ÇÁ·Î¼¼½º ÁÖ¼Ò °ø°£ÀÇ À¯È¿ÇÑ ºÎºÐÀ» °¡¸®Å°Áö ¾Ê´Â´Ù. </para> </listitem> </varlistentry> </variablelist> </para> </section> <!-- ¸¶Áö¸·À¸·Î ¿¡Á¦ ÀÔ´Ï´Ù --> <!-- ¿©±â¿¡´Â ¿ÏÀüÇÑ ¿¹Á¦°¡ µé¾î°¡ Àִµ¥, ±»ÀÌ ¿ÏÀüÇÑ ¿¹Á¦¸¦ ¸¸µéÇÊ¿ä ¾øÀÌ --> <!-- ÄÚµå ÀϺκи¸ ÀÛ¼ºÇؼ ¿Ã·ÁÁּŵµ µË´Ï´Ù --> <!-- "<", ">", "&" µîÀº º¯È¯ÇØ ÁÖ¼Å¾ß Çϴµ¥, ±ÍÂúÀ¸½Ã¸é :-) º¯È¯ ÇÏÁö ¾Ê --> <!-- ¾Æµµ µË´Ï´Ù. Á¦°¡ °Ë»ç ÇØ¼ ¿Ã¸®°Ú½À´Ï´Ù --> <!-- ¿¹Á¦¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸íÀ» Àû¾îÁּŵµ µÇ±¸¿ä --> <section> <title>¿¹Á¦</title> <para> <screen> #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/socket.h> #include <sys/types.h> int main() { int pid; char buf[256]; int fd; int sv[2]; int num = 0; socketpair(AF_UNIX, SOCK_STREAM, AF_LOCAL, sv); pid = fork(); if (pid == 0) { dup2(sv[0], 0); close(sv[1]); close(sv[0]); execl("./pipe_cl", "pipe_cl", NULL); } else if (pid > 0) { close(sv[0]); while(1) { write(sv[1], (void *)&num, 4); printf("write %d\n", num); read(sv[1], (void *)&num, 4); printf("read %d\n", num); } } } </screen> À§ ÇÁ·Î±×·¥Àº fork()ÇÑ ÈÄ ÀÚ½ÄÇÁ·Î¼¼½º¿¡¼ pipe_clÀ» ½ÇÇà½ÃŲ´Ù. Àڽİú ºÎ¸ð ÇÁ·Î¼¼½º´Â ¼ÒÄÏÀ» ÅëÇÏ¿© ¿¬°áµÇ°í À̰ÍÀ» ÅëÇØ¼ µ¥ÀÌÅ͸¦ ±³È¯ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº pipe_clÀÇ ÄÚµå´Ù. <screen> #include <unistd.h> #include <stdio.h> int main() { int num; while(1) { read(0, (void *)&num, 4); num++; write(0, (void *)&num, 4); sleep(1); } } </screen> </para> </section> </chapter> |
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|