ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
Âü°í : http://www.devshed.com/c/a/Perl/Socket-Programming-in-PERL/ Perl ¼ÒÄÏ ÇÁ·Î±×·¡¹Ö
³×Æ®¿öÅ© ÇÁ·Î±×·¥Àº ÁÖ·Î C¸¦ ÀÌ¿ëÇØ¼ ÀÛ¼ºÀ» ÇØ¿Ô´Ù. ¿ö³«¿¡ Àͼ÷ÇØÁ® Àֱ⵵ ÇÏÁö¸¸ PerlÀ» ÀÌ¿ëÇÑ ¸ÖƼ¾²·¹µå, ¸ÖƼÇÁ·Î¼¼½Ì ÇÁ·Î±×·¡¹Ö °æÇèÀÌ ¾ø¾ú±â ¶§¹®À̱⵵ ÇÏ´Ù. - ¿Ø¸¸ Çϸé C¸¦ ÀÌ¿ëÇ߱⠶§¹®¿¡ °æÇèÀÌ ¾ø¾úÀ» ¼öµµ ÀÖÁö¸¸.. -
À̹ø¿¡´Â PerlÀ» ÀÌ¿ëÇØ¼ ¼ÒÄÏ ÇÁ·Î±×·¡¹ÖÀ» Çϱâ·Î Çß´Ù. Master <-> Slave ¹æ½ÄÀÇ ºÐ»ê ½Ã½ºÅÛÀ» ¸¸µé°í, À̶§ Slave ¿¡¼ ½ÇÇàµÉ Job FunctionÀº Master¿¡ ÀÇÇØ¼ ¹èÆ÷µÇµµ·Ï ¼³°è¸¦ Çߴµ¥ ¾Æ¹«·¡µµ ÄÄÆÄÀÏµÈ ÇÁ·Î±×·¥À» ¹èÆ÷ÇÏ´Â°Ç È¿À²ÀûÀÌÁö ¸øÇϱ⠶§¹®ÀÌ´Ù. ´Ù¾çÇÑ È¯°æÀÇ ½Ã½ºÅÛÀ̶ó¸é, ÄÄÆÄÀÏµÈ ÇÁ·Î±×·¥À» ¹èÆ÷ÇÏ´Â°Ç °³¹ß/°ü¸®Â÷¿ø¿¡¼ ¹®Á¦°¡ µÉ ¼ö ÀÖ´Ù.
±×·¡¼ perlÀ» ÀÌ¿ëÇØ¼ job functionÀ» °³¹ßÇϱâ·Î Çß´Ù. Server ÇÁ·Î±×·¡¹Ö001 #! /usr/bin/perl -w
002 # server0.pl
003 #--------------------
004
005 use strict;
006 use Socket;
007
008 # use port 7890 as default
009 my $port = shift || 7890;
010 my $proto = getprotobyname('tcp');
011
012 # reusable socketÀ» »ý¼ºÇÑ´Ù.
013 socket(SERVER, PF_INET, SOCK_STREAM, $proto) or die "socket: $!";
014 setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, 1) or die "setsock: $!";
015
016 # grab a port on this machine
017 my $paddr = sockaddr_in($port, INADDR_ANY);
018
019 # port¸¦ bind() ÇÑ´Ù.
020 bind(SERVER, $paddr) or die "bind: $!";
021 listen(SERVER, SOMAXCONN) or die "listen: $!";
022 print "SERVER started on port $port ";
023
024 # ¿¬°áÀ» ¹Þ¾ÆµéÀδÙ.
025 my $client_addr;
026 while ($client_addr = accept(CLIENT, SERVER))
027 {
028 # ¿¬°áµÈ È£½ºÆ®ÀÇ Á¤º¸¸¦ ¾ò¾î³½´Ù.
029 my ($client_port, $client_ip) = sockaddr_in($client_addr);
030 my $client_ipnum = inet_ntoa($client_ip);
031 my $client_host = gethostbyaddr($client_ip, AF_INET);
032
033 # ¿¬°áµÈ È£½ºÆ®ÀÇ Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù.
034 print "got a connection from: $client_host","[$client_ipnum] ";
035
036 # ¿¬°áµÈ È£½ºÆ®¿¡ ¸Þ½ÃÁö¸¦ Àü¼ÛÇÑ´Ù.
037 print CLIENT "Smile from the server";
038 close CLIENT;
039 }
040
Client ÇÁ·Î±×·¡¹Ö001 #! /usr/bin/perl -w
002 # client1.pl - a simple client
003 #----------------
004
005 use strict;
006 use Socket;
007
008 # ¿¬°áÇÒ È£½ºÆ® Á¤º¸¸¦ ¼³Á¤ÇÑ´Ù.
009 my $host = shift || 'localhost';
010 my $port = shift || 7890;
011 my $proto = getprotobyname('tcp');
012
013 my $iaddr = inet_aton($host);
014 my $paddr = sockaddr_in($port, $iaddr);
015
016 # ¼ÒÄÏÀ» »ý¼ºÇÏ°í ¿¬°áÇÑ´Ù.
017 socket(SOCKET, PF_INET, SOCK_STREAM, $proto)
018 or die "socket: $!";
019 connect(SOCKET, $paddr) or die "connect: $!";
020
021 my $line;
022 while ($line = <SOCKET>)
023 {
024 print $line;
025 }
026 close SOCKET or die "close: $!";
027
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|