0

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

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

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

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

但是fgets(),我用它来从服务器读取新数据pauses the script waiting until something new arrives。因此,只有在服务器有新内容到达之前,输入文本文件才能被读出,这是不好的。

  • 是否有一些特殊的功能/选项可以帮助我?
4

1 回答 1

2

您需要查看流,尤其是stream_set_blocking.

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

于 2010-03-10T20:28:48.500 回答