这是一个小型 PHP IRC 机器人的基本连接代码。问题是,似乎 while() 循环在从 IRC 服务器接收数据之前不会超出 fgets()。无论 IRC 服务器是否尚未发送数据,我都希望 while() 循环进行迭代。这可能吗?
$socket = fsockopen($config['irc_server'], $config['port']);
while (1)
{
$data = fgets($socket, 128);
echo '[RECEIVE] ' . $data;
$recv = explode(' ', $data);
if ($recv[0] == 'PING')
{
send('PONG', $recv[1]);
}
}