1

FTP 経由で Web カメラと対話するアプリケーションを構築しましたが、完了すると速度の問題が発生します。アプリケーションの構造は次のとおりです。

ウェブカメラ -> Proftp/Mysql -> PHP

MySQL / PHP経由で管理されているProftpサーバーへのWebカメラftpの画像。PHP はユーザーのクライアントとして機能し、FTP サーバーから最新のイメージを取得します。

これは機能しますが、本当に遅いです。問題は Proftp -> PHP 側にあります。標準の PHP ftp ライブラリを使用すると、ftp サーバーに接続するのに約 4 秒かかります -> ディレクトリの一覧表示を行います -> ファイルの内容を出力します。

速度の問題は、プロセスの認証部分が原因です。私が見たところ、FTP接続をキャッシュ/保存/シリアル化する方法はありません。つまり、サーバーへのすべてのリクエストは新しいリクエストを開始する必要があります。

これらは私が今まで持っていた考えです..

1) 永続的な FTP 接続を開いた状態で、while ループで PHP スクリプトを実行しますが、PHP はこの方法で実行するようには設計されていません。

2) 永続的な ftp 接続を開いたままにしておくことができる node.js / java などを実行するデーモンを作成し、PHP をそれと対話させます。このアプローチで私が心配しているのは、PHP で既に記述されている認証コードを複製するコードをさらに記述することに伴う余分なメンテナンスです。

3) ???

どんな助け/提案も大歓迎です!.

4

2 に答える 2

0

なぜわざわざ ftp から画像を読み取るのですか?

それらが同じサーバー上にある場合は、php を介してストレージ ディレクトリから直接読み取るだけです。

それらが同じサーバー上にない場合は、何らかのメカニズムを使用して最新の画像について php に通知し (たとえば、テキスト ファイル、GET 変数などを介して)、http/ftp 画像を直接出力します。

于 2012-10-08T14:42:31.807 に答える
0

FTPスクリプトをほぼ永続的に、または特定の短い間隔で実行できるように、cronジョブでスケジュールするのが賢明ではないでしょうか?

于 2012-10-08T14:32:52.397 に答える