socket_recvfrom()卡在ubuntu服务器中

时间:2018-02-15 05:55:17

标签: php ubuntu cron

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

试试这个

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