5部 関数リファレンス

getservbyname

getservbyname SERVICE, PROTO



サービス名からポート番号を取得します。

getservbynamehttp・smtp・ftpなどのサービス名に対応するサービス情報(サービス名/エイリアス/ポート番号/プロトコル名)のリストを返します。スカラコンテキストの場合は、サービス名を返します。

getservbynameの使い方

$port = getservbyname('http', 'tcp');

第2引数には、tcpのほかにもudpなどが指定できます。プロトコル名とポート番号の対応表は、UNIXなら/etc/servicesから調べられます。

/etc/servicesの内容の抜粋

gopher 70/udp
netrjs-1 71/tcp # Remote Job Service
netrjs-1 71/udp # Remote Job Service
netrjs-2 72/tcp # Remote Job Service
netrjs-2 72/udp # Remote Job Service
netrjs-3 73/tcp # Remote Job Service

netrjs-3 73/udp # Remote Job Service
netrjs-4 74/tcp # Remote Job Service
netrjs-4 74/udp # Remote Job Service
finger 79/tcp
finger 79/udp
http 80/tcp www www-http # WorldWideWeb HTTP

http 80/udp www www-http # HyperText Transfer Protocol

関連記事