在此函数内运行 socket_recv 时出现套接字错误:
function readByteXByteSIBmsg() {
$msg = "";
$buf="";
try {
while( $ret=socket_recv($this->kpSocket,$buf,8192,0)){
$msg.=$buf;
if($ret<8192) break;
}
$this->deb_print("KpCore:readByteXByteSIBmsg:READ LOOP TERMINATED");
} catch (Exception $e) {
err_print("KPICore:readByteXByteSIBmsg:Exception on EVENT HANDLER:RECEIVE:\n" . $e);
$this->$KP_ERROR_ID = $this->ERR_SOCKET_TIMEOUT;
}
return $msg;
}
这是错误的文本:
PHP Warning: socket_recv(): unable to read from socket [11]: Resource temporarily unavailable in /home/luca/Documenti/Tesi/M3 Agent Page/lib/KPICore.php on line 236
(第236行是socket_recv调用的行)
错误是EAGAIN
(or EWOULDBLOCK
,有时这些是相同的错误)并且意味着套接字是非阻塞的并且目前没有任何内容可读取。当出现该错误时,您可以忙等待,直到读取某些内容,或者在尝试接收之前使用其他方法来查明是否有数据要读取。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)