Аргерих Л. О языке РНР. Часть 3. Страница 71


log_err("Host name could not be found for " . SioActdr); return -1;

} else {

ShostName[$ipAddr] = $ret; $ipAddress[$ret] = SipAddr; return $ret;

}

}

Этот метод возвращает номер протокола, соответствующий имени, указан­ному в аргументе:

function getProtoByName(Sname)

{

if (!$name) {

log_err( "Protocol name is required to get

the protocol number" ); return -1;

} elseif ((Sret = $protoNumber[$name])) { return Sret;

^elseif (($ret = getprotobyname($name)) == false) {

log_err( "Protocol number could not be found for " . $name); return -1;

} else {

$protoNumber[$name] = $ret; $protoName[$ret] = $name; return Sret;

|

Этот метод возвращает имя протокола, соответствующее номеру протокола:

function getProtoByNumber($number) {

if (!$number) {

log_err( "Protocol number is required to get

the protocol name" ); return -1;

} elseif (($ret = SprotoName[$number])) {

return $ret;

} elsif (($ret =getprotobynumber(Snumber)) == false) {

log_err("Protocol name could not be found for " . Snumber); return -1; } else {

SprotoName[$number] = $ret; $protoNumber[$ret] = Snumber; return $ret;

)

}

Этот метод возвращает номер порта службы, реализованной через TCP или UDP и указанной по имени:

function getServByName($name, Sproto) {

if (Strtoupper($proto)== "TCP" i | strtoupper($proto) .!= "UDP")) { log_err("Protocol must either be TCP or UDP"); return -1;

)

if <! Sname) {

log_err("Service name is required to get the port number" ); return -1;

} elseif <($ret = $servPort[$name])) { return $ret;

} elseif (($ret = getservbyname($name)) == false) { log_err("Service port could not be found for

" . $name . " arid protocol" . $proto);

return } else {

$servPort[$name] - $ret; $servName[$ret] = Sname;

return $ret;

}

}

Фактический IP-адрес представляет собой 32-разрядное число и в некото­рых архитектурах считается имеющим тип long. Этот метод принимает стро­ку IP-адреса с разделителем-точкой и преобразует ее в 32-разрядное число:

function dottedToIp(Sdotted) 1

t

if (!$dotted) {

log_err("Dot formatted IP address is required to get

long IP address"); return -1;

•} elseif (!ereg("[1-254]\.[1-254]\.[1-254]\.[1-254]",Sdotted)) { log_err("Incorrect IP address format"); return -1;

} elseif ($ret = $ipLong[$dotted]) {

return $ret;

} elseif ((Sret = ip21ong($dotted)) == false) {

log_err("Long IP address could not be found for " . Sdotted); return -1;




Найти работу в последнее время стало намного проще благодаря развитию технологий и интернета. Ведь через сайт http://stavropolskiy-kray.irr.ru/ вполне реально найти работу в Зеленокумске в считанные дни. Убедитесь в этом и посетите сайт.