我已经构建了一个通过 FTP 与网络摄像头交互的应用程序,但是在完成它后我遇到了速度问题。应用结构如下:
网络摄像头 -> Proftp/Mysql -> PHP
网络摄像头 ftp 的图像到通过 MySQL / PHP 管理的 Proftp 服务器。PHP 充当用户的客户端,它反过来从 FTP 服务器拉取最新的图像。
这有效,但真的很慢。问题出在 Proftp -> PHP 方面。使用标准的 PHP ftp 库,连接到 ftp 服务器大约需要 4 秒 -> 列出目录 -> 输出文件内容。
速度问题是由于过程的身份验证部分造成的。从我所见,没有办法缓存/存储/序列化 FTP 连接,这意味着对服务器的每个请求都必须启动一个新请求。
这些是我到目前为止的想法..
1) 让 PHP 脚本在 while 循环中运行,并打开永久 FTP 连接,但我知道 PHP 并非旨在以这种方式运行。
2) 创建一个运行 node.js / java 等的守护进程,它能够保持永久的 ftp 连接打开,并让 PHP 与之交互。我对这种方法担心的是编写更多代码所涉及的额外维护,这些代码复制了已经用 PHP 编写的身份验证代码。
3)???
任何帮助/建议将不胜感激!