【问题标题】:Creating s simple client/server UDP example in PHP在 PHP 中创建一个简单的客户端/服务器 UDP 示例
【发布时间】:2011-02-28 09:29:51
【问题描述】:

我正在尝试在 PHP 中创建一个简单的 UDP 客户端服务器示例,但我遇到了一个错误。

这是客户:

$fp = stream_socket_client("udp://192.168.0.12:12478", $errno, $errstr);

if ($fp)
{
        fwrite($fp, "TEST 1 TEST 2 TEST 3");
        $buf = fgets($fp);
        var_dump($buf);
        fclose($fp);
}

这是服务器:

$socket = stream_socket_server("udp://192.168.0.12:12478", $errno, $errstr, STREAM_SERVER_BIND);
if ($socket)
{
  while ($conn = stream_socket_accept($socket)) {
    fwrite($conn, date("D M j H:i:s Y\r\n"));
    fclose($conn);
  }
  fclose($socket);
}

所有执行都以 :

结尾
Warning: stream_socket_accept(): accept failed: Operation not supported 

基本上,这是所有 PHP 文档中给出的示例,但我不知道其中有什么问题。非常感谢任何帮助。

谢谢。

【问题讨论】:

    标签: php sockets networking udp client-server


    【解决方案1】:

    这是同一页面上的警告

    警告
    此函数不应与 UDP 服务器套接字一起使用。反而, 使用 stream_socket_recvfrom() 和 stream_socket_sendto().

    【讨论】:

    • 好。使用“stream_socket_recvfrom()”一切正常!
    【解决方案2】:

    根据documentation:“你不能用母猪的耳朵做丝绸钱包”

    stream_socket_connect 用于 STREAMS,而不是数据报包。 recvfrom 更有可能在这种情况下工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多