如何制作一个基于PHP的UDP日志查看器


How do I make a PHP based UDP log viewer?

好吧,你们中的许多人可能听说过像《加里的国防部》或《团队堡垒2》这样的游戏。他们使用远程RCON日志扩展,我希望在我的网站上使用它来查看实时控制台(也可以提交RCON命令,但这很容易完成)

无论如何,我试着四处搜索以找到我需要的命令,但我找到的最接近的是socket_bind。我试过使用这个,但IP"67.202.70.156"无法绑定。这是它给我的错误…

Warning: socket_bind() [function.socket-bind]: unable to bind address [99]: Cannot assign requested address in /home1/rainbowd/public_html/udp.php on line 5

我不确定我是否做错了什么,但这是我的代码。我从另一个stackoverflow问题中借用了一些代码。。。

<?php
$sourceip = '67.202.70.156';
$port = 27500;
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($sock, $sourceip, 27500) or die('Could not bind to address');
//this is where the reading loop should go.
while(1)
{
    echo socket_read($sock,1024);
    flush();
    ob_flush();
}
socket_close($sock);
?>

在你评论我如何定义$port而不使用$port之前,那是因为我使用了$port,然后停下来测试了一些东西。

您需要使用socket_connect(),然后使用socket_select(),按照您在上面的代码中概述的方式来完成它。或者您可能希望使用fsockopen();如果它符合所需的用途,那么它可能是一个更容易使用的模型。