|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2001-04-12 11:06 UTC] jorfen at topmail dot de
1)
<?
function foo($ip,$port)
{
$fp = fsockopen("udp://".$ip,$port);
fwrite($fp,"????info\x00");
$a = fread($fp,5000);
fclose($fp);
}
?>
This code is for querying a HalfLife-Server (left out if
($fp) ...).
The script works till it tries to read from the socket.
PHP reads a part of the string the server should return
and hangs till the socket times out.
The same method in C, Perl etc works perfectly so I assume
there is a problems with PHP and UDP-Sockets.
2)
Trying to read multiple lines from a server connected to
with an UDP-Socket give garbled Data+Timeout.
Again C, Perl work perfectly.
(recent version from CVS do not work, too)
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 16:00:02 2025 UTC |
For now, I suggest you use the sockets extensions functions: function foo2($ip,$port) { $sock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP); $retval=connect($sock,$ip,$port); write($sock, "????info\x00", 11); $numread=read($sock,$readdata,10000, PHP_BINARY_READ); close $sock; return $readdata; } This works for me just fine. Seems the f-funcs don't work as expected with UDP. --Jani