16

我目前使用的托管服务不允许我使用套接字,这可能是出于他们的充分理由。但是,他们确实让我使用fsockopen。我想知道有什么区别,因为某些与socket_create甚至stream_socket_server一起使用的脚本不能与fsockopen一起使用。也就是说,如果fsockopen应该工作,我的代码在下面列出。它的作用是在自己的 IP 地址上侦听传入的 udp 数据包并读取它们。

谢谢

$sock = fsockopen("udp://x.x.x.x", $port);
while(1)
{
    $buf = fread($sock, 200);
    flush();
    ob_flush();
}
4

1 回答 1

15

fsockopen创建到主机的连接,而不是侦听套接字。

fsockopen($address) ~== socket_connect ( socket_create (), $address)

您的托管服务提供商不希望您监听备用端口/协议。

如果你有什么工作,我不会指望它总是工作,因为这将是一个错误。

于 2009-02-18T22:44:13.990 回答