socket_create vs. fsockopen php

2022-08-30 23:36:03

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

答案 1

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

fsockopen($address) ~== socket_connectsocket_create(), $address)

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

如果你拥有的东西有效,我不会指望它总是工作,因为它将是一个错误。


答案 2

推荐