udp logger
Данная программа позволяет просматривать данные переданные по UDP протоколу.
Данную программу можно использовать
для просмотра переменных, массивов в php скриптах.
В данном примере рассамтривается пример передачи
массива $theVariable в "дампер".
$theVariable = array("Search Engines" =>
array (
0=> "http//google.com",
1=> "http//yahoo.com",
2=> "http//msn.com/"),
"Social Networking Sites" =>
array (
0 => "http//www.facebook.com",
1 => "http//www.myspace.com",
2 => "http//vkontakte.ru",)
);
//передаем в udp-logger массив $theVariable
udp_out($theVariable);
////////////////
////////////////
////////////////
////////////////
// код передачи данных по UDP ниже
// функция udp_out();
////////////////
////////////////
////////////////
////////////////
////////////////
////////////////
////////////////
////////////////
//функции необходимые для работы udp логгера
$_error = '';
function udp_out($_error){
global $dump_array, $array2string;
//ip адресс и порт UDP сервера, куда передавать данные?
$fp = fsockopen("udp://192.168.0.200", 8888, $errno, $errstr,50);
if (!$fp) {}else{
$temp=dump_array($_error);
fputs ($fp, '.'.$temp);
$temp=array2string($_error);
fputs ($fp, $temp);
fclose ($fp);
}
}
//функции для разбора массивов, взыты несколько лет назад на сайте phpclub.ru
//авторство неизвестно
function array2string($arr,$level=""){
$ret="";
if(is_array($arr))foreach($arr as $k=>$v){
if(is_array($v)){
$ret.=$level."\r\n{$level}[$k] => array(";
$ret.=array2string($v,$level."\t");
$ret.=$level."\r\n$level)";
}else{
$ret.=$level."\r\n{$level}[$k] => $v";
}
}
return $ret;
}
function dump_array($array)
{
if(is_array($array))
{
$size= count($array);
$string="";
if($size)
{
$count=0;
$string.="{ ";
foreach($array as $var=>$value)
{
$string.= "$var= $value";
if($count++<($size-1))
{$string.=", ";}
}
$string.=" }";
}
return $string;
}
else
{return $array;}
}
==================================
Настройка логгера довольно проста,
в поле адреса сервера надо вписать ип адрес с которого
предполагается принимать данные, 0.0.0.0:8888 подразумевает
все возможныне адреса.
В php скрипте в строке
$fp = fsockopen("udp://192.168.0.200", 8888, $errno, $errstr,50);
должен быть ип адрес udp сервера (логгера).
Предполагается использование программы для локальных испытаний.
скачать можно здесь
|