Re: [PHP] binary data over UDP with PHP?
If you're receiving binary data back, this function may interest you: http://aidan.dotgeek.org/lib/?file=function.hexdump.php Also, why are you messing with chr etc? $string = \x00\x01\xFF; etc. Coder_1024 [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Thanks for the feedback. As it turns out, the reason I was getting zero data bytes in my UDP packet was that I had declared the packet variable outside the function in which I was using it. $packet = chr(0x01).chr(0x1d) etc function doSomething($x) { // using $packet in here gives you an empty variable. } So I guess it was a very basic PHP language thing I was running into. Guess I've done too much Perl and assumed the variables were accessible in the function. :-) Keith Greene [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] I use the following without problem: $fp = fsockopen(udp://www.server.com, 24250, $errno, $errstr, .2); if (!$fp) { $status = Server not available; } else { $trigger = chr(hexdec('FF')).chr(hexdec('FF')).chr(hexdec('01')).chr(hexdec('00')); fwrite($fp,$trigger); # Send trigger to the status server $junk = fread($fp, 4); # discard echoed command from status server } Keith At 04:23 PM 7/7/2004, coder_1024 wrote: I'm trying to send some binary data to a UDP server using PHP. The examples I've been able to find show sending binary data over TCP, or they show sending text over UDP. I'm constructing the messages using the below: $text_msg = Hello, World\r\n; $binary_msg = chr(0x01).chr(0x02).chr(0x00).chr(0xAD); $binary_msg_size = 4; I've tried a couple methods of sending the data: $fp = fsockopen(udp:// . $host,$port,); fwrite($fp,$binary_msg,$binary_msg_size); and $sock = socket_create(AF_INET,SOCK_DGRAM,SOL_UDP); socket_sendto($sock,$binary_msg,$binary_msg_size,0,$host,$port); In either case, a UDP packet is sent, but with a zero data size. If I instead send the $text_msg, it works as expected. For some reason sending the binary data doesn't work. Does anyone have insight into how to send binary data over UDP using PHP? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] binary data over UDP with PHP?
I'm trying to send some binary data to a UDP server using PHP. The examples I've been able to find show sending binary data over TCP, or they show sending text over UDP. I'm constructing the messages using the below: $text_msg = Hello, World\r\n; $binary_msg = chr(0x01).chr(0x02).chr(0x00).chr(0xAD); $binary_msg_size = 4; I've tried a couple methods of sending the data: $fp = fsockopen(udp:// . $host,$port,); fwrite($fp,$binary_msg,$binary_msg_size); and $sock = socket_create(AF_INET,SOCK_DGRAM,SOL_UDP); socket_sendto($sock,$binary_msg,$binary_msg_size,0,$host,$port); In either case, a UDP packet is sent, but with a zero data size. If I instead send the $text_msg, it works as expected. For some reason sending the binary data doesn't work. Does anyone have insight into how to send binary data over UDP using PHP? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] binary data over UDP with PHP?
I use the following without problem: $fp = fsockopen(udp://www.server.com, 24250, $errno, $errstr, .2); if (!$fp) { $status = Server not available; } else { $trigger = chr(hexdec('FF')).chr(hexdec('FF')).chr(hexdec('01')).chr(hexdec('00')); fwrite($fp,$trigger); # Send trigger to the status server $junk = fread($fp, 4); # discard echoed command from status server } Keith At 04:23 PM 7/7/2004, coder_1024 wrote: I'm trying to send some binary data to a UDP server using PHP. The examples I've been able to find show sending binary data over TCP, or they show sending text over UDP. I'm constructing the messages using the below: $text_msg = Hello, World\r\n; $binary_msg = chr(0x01).chr(0x02).chr(0x00).chr(0xAD); $binary_msg_size = 4; I've tried a couple methods of sending the data: $fp = fsockopen(udp:// . $host,$port,); fwrite($fp,$binary_msg,$binary_msg_size); and $sock = socket_create(AF_INET,SOCK_DGRAM,SOL_UDP); socket_sendto($sock,$binary_msg,$binary_msg_size,0,$host,$port); In either case, a UDP packet is sent, but with a zero data size. If I instead send the $text_msg, it works as expected. For some reason sending the binary data doesn't work. Does anyone have insight into how to send binary data over UDP using PHP? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] binary data over UDP with PHP?
Thanks for the feedback. As it turns out, the reason I was getting zero data bytes in my UDP packet was that I had declared the packet variable outside the function in which I was using it. $packet = chr(0x01).chr(0x1d) etc function doSomething($x) { // using $packet in here gives you an empty variable. } So I guess it was a very basic PHP language thing I was running into. Guess I've done too much Perl and assumed the variables were accessible in the function. :-) Keith Greene [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] I use the following without problem: $fp = fsockopen(udp://www.server.com, 24250, $errno, $errstr, .2); if (!$fp) { $status = Server not available; } else { $trigger = chr(hexdec('FF')).chr(hexdec('FF')).chr(hexdec('01')).chr(hexdec('00')); fwrite($fp,$trigger); # Send trigger to the status server $junk = fread($fp, 4); # discard echoed command from status server } Keith At 04:23 PM 7/7/2004, coder_1024 wrote: I'm trying to send some binary data to a UDP server using PHP. The examples I've been able to find show sending binary data over TCP, or they show sending text over UDP. I'm constructing the messages using the below: $text_msg = Hello, World\r\n; $binary_msg = chr(0x01).chr(0x02).chr(0x00).chr(0xAD); $binary_msg_size = 4; I've tried a couple methods of sending the data: $fp = fsockopen(udp:// . $host,$port,); fwrite($fp,$binary_msg,$binary_msg_size); and $sock = socket_create(AF_INET,SOCK_DGRAM,SOL_UDP); socket_sendto($sock,$binary_msg,$binary_msg_size,0,$host,$port); In either case, a UDP packet is sent, but with a zero data size. If I instead send the $text_msg, it works as expected. For some reason sending the binary data doesn't work. Does anyone have insight into how to send binary data over UDP using PHP? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php