如何获取 PHP 脚本以从已运行的进程发送和接收数据?
Posted
技术标签:
【中文标题】如何获取 PHP 脚本以从已运行的进程发送和接收数据?【英文标题】:How do I get a PHP script to send and receive data from an already running process? 【发布时间】:2010-09-25 10:57:29 【问题描述】:我正在尝试为 Web 创建一个简单的 AJAX 到 Telnet 客户端。我这样做可能是在重新发明***,但这对我自己来说是一个学习项目。目前我还没有写任何东西,我只是想把这个想法包裹在我的脑海中。它不一定是 php。
如果我有一个支持多个连接的 telnet 客户端已经在其自己的进程中运行,我如何获得一个 PHP 脚本,当客户端浏览器要求能够与客户端通信时触发?
例如,我希望 PHP 脚本能够告诉已经运行的进程它是哪个客户端,并从 telnet 进程接收任何新数据。
【问题讨论】:
【参考方案1】:对于 PHP,您所说的是通过 shell 进行接口,对吗?这完全取决于您尝试连接的 telnet 客户端,以及它支持的 CLI 选项。为此打开一个流可能需要让每个 telnet 会话将其 STDIO 输出到一个文本文件,然后让 PHP 读取该文本文件并显示“差异”。
使用 PHP 中的 Fsockopen(),你真的不需要与其他程序交互,你可以直接在 PHP 中运行套接字命令并在那里得到结果。
PHP:Fsockopen
【讨论】:
【参考方案2】:即使连接需要持久化?
编辑:没关系,我想我有个主意。
我将自己编写客户端部分,但如果它也可以充当服务器,PHP 通过连接到它并提供相关数据来调用它,以便它可以找出用户需要哪个连接......乔治,我想我明白了!
edit2:吉姆就是这么说的。谢谢吉姆。
【讨论】:
【参考方案3】:我将创建一个作为守护进程运行的 telnet 客户端。它将负责创建和维护 telnet 会话并缓冲任何接收到的数据。
然后您的 PHP 脚本可以使用 TCP 连接或 Unix 套接字使用 PHP sockets API 与您的 telnet 客户端守护进程通信。
吉姆。
【讨论】:
以上是关于如何获取 PHP 脚本以从已运行的进程发送和接收数据?的主要内容,如果未能解决你的问题,请参考以下文章