php fgets流超时

时间:2011-07-08 20:13:25

标签: php terminal chat real-time fgets

我正在使用php进行服务器 - 客户端终端聊天。我想知道是否有任何方法可以检测客户端是否输入了5秒或10秒的任何内容。使用fgets暂停终端并等待每个条目,从而使聊天不是实时的xD

我仍然在修改我从这里得到的代码 http://codeyoung.blogspot.com/2009/07/simple-php-socket-based-terminal-chat.html

谢谢你:D

根据采石场的答案..我试过

while(true) {
 stream_set_timeout($sock,1);
  $reply = fread($sock, 4086);
  if($reply != ""){ echo "[Server] ".$reply; }
 stream_set_timeout($uin,1);
  $resp = fgets($uin);
  if($resp != ""){ fwrite($sock, $resp); }
}

但设置超时似乎无法解决任何问题?

1 个答案:

答案 0 :(得分:0)

除非PHP支持多线程,否则这是不可行的。我所做的是使用两个终端。一个用于接收消息,另一个用于发送