php - 如何使用 PHP 通过 UDP 将数据发送到 IP 地址?

标签 php udp sockets

如何使用 PHP 通过 UDP 将数据发送到 IP 地址?

我怎样才能在另一台计算机上接收到该数据?

<?php
$fp = pfsockopen( "udp://192.168.1.6", 9601, $errno, $errstr );

if (!$fp)
{
    echo "ERROR: $errno - $errstr<br />\n";
}
socket_set_timeout ($fp, 10);

$write = fwrite( $fp, "kik" );
//$data .= fread($fp,9600);
//echo "$data<br>";
fclose($fp);
echo "<br>Connection closed ..<br>";

if (!$write) {
    echo "error writing to port: 9600.<br/>";
    next;
?>

此代码发送带有程序的“kik”,我可以在另一台计算机上阅读它,但如何在浏览器中看到它?

最佳答案

我的 PHP 知识有点生疏,所以我一直在进行一些搜索,试图找到一些好的指南和教程。这个PHP Sockets Made Easy看起来这将是一个很好的入门指南。

编辑:我发布的原始文章没有详细介绍 UDP,因此我删除了以前的代码。文章来自PHP Manual有更多关于 UDP 的信息:

<?php
$socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
    die("$errstr ($errno)");
}

do {
    $pkt = stream_socket_recvfrom($socket, 1, 0, $peer);
    echo "$peer\n";
    stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer);
} while ($pkt !== false);

?>

编辑 #2:这是另一个 useful tutorial用于 PHP 中的套接字编程。它主要是 TCP,但它确实包含一个关于如何更改代码以改为使用 UDP 的部分。

关于php - 如何使用 PHP 通过 UDP 将数据发送到 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/687765/

相关文章:

linux - 可用的UDP端口

c - 套接字编程 :using inet_addr() and ip address isn't be hardcoded

c++ - 需要帮助理解 NS-3 中的特定代码

linux - 无法创建套接字以调用我的 Asterisk 服务器?

php - 当用户点击链接时插入 click_url、时间戳和用户名

php - 无需刷新页面即可更改数据库中的客户端数据

javascript - 日期时间选择器 - Chrome 和 Firefox 之间的奇怪行为

php - 如何制作 Firefox,不缓存我的网站

c - recvfrom - 接收任意大小的结构?

java - 通过 udp 发送的图像已损坏