【问题标题】:socket_recvfrom() goes stuck in ubuntu serversocket_recvfrom() 卡在 ubuntu 服务器中
【发布时间】:2018-02-15 15:47:27
【问题描述】:

我正在使用socket_recvfrom() 函数从设备获取数据

socket_recvfrom($this->socket, $this->received_data, 1024, 0, $this->ip, $this->port);

这对于有效的 IP 和端口非常有效,如果我更改为错误的 IP,它会卡住并且进程不会结束。如果它是无效 IP,我如何跳过这行代码?请帮忙。

提前致谢。

【问题讨论】:

    标签: php ubuntu cron


    【解决方案1】:

    试试这个

    if (filter_var($this->ip, FILTER_VALIDATE_IP)) {
        socket_recvfrom($this->socket, $this->received_data, 1024, 0, $this->ip, $this->port);
    }
    

    有关更多详细信息,请查看这些链接 PHP FILTER_VALIDATE_IP Filter & Filter flags

    【讨论】:

    • 对不起,该功能不仅不是有效的 ip,而且由于某些其他原因(例如给定 ip 的设备未通过互联网连接或设备已关闭)而卡住.
    猜你喜欢
    • 2011-05-07
    • 2022-08-04
    • 2017-04-23
    • 1970-01-01
    • 2017-01-19
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多