src.dualinventive.com/dinet/sec-multi-proxy/tests/generic.inc.php

39 lines
885 B
PHP

<?php
function sendUDP($data, $length, $sockhandler = null) {
global $sock;
if ($sockhandler == null) {
$sockhandler = $sock;
}
return socket_sendto($sockhandler, $data, $length, 0, "127.0.0.1", get_cfg_var('UDP_PORT'));
}
function recvUDP($sockhandler = null) {
global $sock;
if ($sockhandler == null) {
$sockhandler = $sock;
}
socket_recvfrom($sockhandler, $buf, 100, 0, $from, $port);
return array($buf, $from, $port);
}
function recvUDPWithTimeout($timeout, $sockhandler = null) {
global $sock;
if ($sockhandler == null) {
$sockhandler = $sock;
}
$endtime = microtime(true) + ($timeout/1000);
$buf = "";
$from = "";
$port = 0;
while(microtime(true) < $endtime) {
socket_recvfrom($sockhandler, $buf, 100, MSG_DONTWAIT, $from, $port);
// Stop when we have data
if (strlen($buf) > 0) {
break;
}
sleep(1);
}
return array($buf, $from, $port);
}