note 90573 deleted from function.socket-create by googleguy
| From: | googleguy@php.net | Date: | Tue, 22 Oct 2013 08:04:31 +0000 |
| Subject: | note 90573 deleted from function.socket-create by googleguy | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-196796@lists.php.net to get a copy of this message | ||
Note Submitter: took at sd-gp dot de
----
A simple example how to send a raw udp packet
<?php
$frame = array(
array(1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1),
array(1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1),
array(1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1),
array(1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1),
array(1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1),
array(1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,1),
array(1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1),
array(1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1)
);
send_frame($frame, 1500);
/**
* Sends 18x8 MCUF-UDP packet to target host.
*
* see also:
* wiki.blinkenarea.org/index.php/MicroControllerUnitFrame
*
* @param array $frame 18x8 '0' or '1'
* @param int $delay delay in msec
* @param string $host target host
* @param int $port target port (udp)
*/
function send_frame($frame, $delay, $host="192.168.0.23", $port=2323) {
$header = "\x23\x54\x26\x66\x00\x08\x00\x12\x00\x01\x00\xff";
$buf = $header;
for ($i=0;$i<8;$i++) {
for ($j=0;$j<18;$j++) {
if ($frame[$i][$j]) {
$buf.="\xff";
} else {
$buf.="\x00";
}
}
}
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_sendto($socket, $buf, strlen($buf), 0, $host, $port);
socket_close($socket);
usleep($delay*1000);
}
?>