服务器工作正常,但问题是客户端没有收到任何内容。
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);
}
?>
答案 0 :(得分:4)
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);
那么你的例子就可以了。