【问题标题】:PHP fgets "noblock"?PHP fgets“noblock”?
【发布时间】:2010-03-10 20:27:21
【问题描述】:

我正在尝试用 PHP 构建一个小的命令行 IRC 客户端,因为我厌倦了所有这些客户端让你点击 20 个 GUI 弹出窗口/窗口来连接到新服务器。

到目前为止一切正常,但我卡在将输入命令/消息发送到服务器并从中接收新数据的主循环中。

由于 PHP 对多任务不太友好,我有两个同时运行的自主 PHP 脚本:

我可以输入消息的输入阅读器 - 它将当前消息存储在文本文件中。 服务器侦听器/写入器接收新数据并读取和清除输入读取器存储我当前命令的文本文件。

但是fgets() 我使用它从服务器pauses the script waiting until something new arrives 读取新数据。 所以在服务器有新的东西到达之前,输入文本文件不能被读出,这是不好的。

  • 有什么特殊的功能/选项可以帮助我吗?

【问题讨论】:

标签: php irc


【解决方案1】:

您需要查看流,尤其是stream_set_blocking

编辑:事实上,您可以摆脱两个进程并在一个进程中完成所有事情。使用非阻塞读取应该没问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    相关资源
    最近更新 更多