PHP套接字UDP通信


PHP socket UDP communication

Server运行良好,但问题是客户端没有收到任何东西。

server.php

<?php    
 $buf_size = 1024;
 $socket = stream_socket_server("udp://127.0.0.1:3127", $errno, $errstr, STREAM_SERVER_BIND);
 do {
   $str = stream_socket_recvfrom($socket, $buf_size, 0, $peer); 
   $str = "abc";
   stream_socket_sendto($socket, $str, strlen($str), 0, $peer);    
 } while (true);
?>

client.php

<?php
 $fp = stream_socket_client("udp://127.0.0.1:3127", $errno, $errstr);
 if (!$fp) {
    echo "$errno - $errstr<br />'n";
 } else {      
    fwrite($fp, "1 2 3");    
    echo fread($fp, 15);
    fclose($fp);
 }
?>

stream_socket_sendto(resource$socket,string$data[,int$flags=0[,string$address]])的语法错误,只需替换:

stream_socket_sendto($socket, $str, strlen($str), 0, $peer);

带有:

stream_socket_sendto($socket, $str, 0, $peer);

那么你的例子就行了。