我目前使用的托管服务不允许我使用套接字,这可能是出于充分的原因。但是,它们确实允许我使用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();
}

最佳答案

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

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

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

如果您有什么用,我不会指望它总是能正常工作,因为那将是一个错误。

07-25 20:24