포트 번호를 반환하는 getservbyname 함수

int getservbyname ( string $service , string $protocol )
(PHP 4, PHP 5)

이 함수는 서비스 이름과 전송 프로토콜로 포트번호를 반환하는 함수입니다. $protocol에 TCP 또는 UDP로 포트번호를 반환받을 수 있습니다. 유닉스에는 서비스와 포트번호가 "/etc/services"에 저장되고, 프로토콜은 "/etc/protocol"에 저장됩니다.

예제 (ex #1
 <?php
 
echo getservbyname('http''tcp'); 
// http 포트는 보통 80입니다.
 /*
 결과:
 80
 */
 
?>

예제 (ex #2

 <?php
 $services 
= array(
 
'http''ftp''ssh''telnet''imap','smtp''nicname',
 
'gopher''finger''pop3'
);

 foreach (
$services as $serv
) {
    
$port getservbyname($serv'tcp'
);
    echo 
$serv ": " $port "<br />\n"
;
 }

 
/*
 결과:
 http: 80
 ftp: 21
 ssh: 
 telnet: 23
 imap: 143
 smtp: 25
 nicname: 43
 gopher: 70
 finger: 79
 pop3: 110
 */
 
?>


서비스 이름을 반환하는 getservbyport 함수

getservbyname와는 반대되는 기능으로 포트번호로 서비스이름을 반환합니다. 

string getservbyport ( int $port , string $protocol )
(PHP 4, PHP 5)

예제 (ex #3
 <?php
 
echo getservbyport (80'tcp'); 
// http 포트는 보통 80입니다.
 /*
 결과:
 http
 */
 
?>

클라이언트가 서버에 접속하기 위해 필요한 포트번호나 서비스이름을 알아둘 필요가 있기 때문에 핵심적인 기능을 하는 getservbyname함수와, getservbyport함수를 알아 둘 필요가 있습니다.


아래 주소에서 해당하는 많은 포트번호를 제공합니다.
http://www.iana.org/assignments/port-numbers
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요