Java でウォッチドッグ スタイルのプログラムを作成しています。つまり、このプログラムは常に実行されます。PHPを使用して、何らかの方法で入力を送信し、応答を受信できるようにしたいと考えています。
これを行う最善の方法は何ですか?
ありがとう!
編集: 明確にするために、Java と PHP は同じマシンで実行されています。
Itayによる「ファイルソリューション」ほど単純ではありませんが、HTTPやXML-RPCよりも軽量なソリューションは、ここに示すように単純なソケットベースのソリューションを使用することになるでしょう。
これは、「文字列前後」プロトコルにうまく適合します。
たぶん私はそれらすべての巨大なライブラリが浮かんでいる何かを見逃しているかもしれませんが、ソケットを使用してTCPを介して通信するのはどうですか?文字列のような単純なデータを送信するためにこれほど単純にすることはできず、かなりパフォーマンスが高いはずです。
これを行うには100万の方法があります。比較的簡単な方法の1つは、XML-RPCなどのネットワーク化されたRPCシステムを使用することです。PHPから非常にきれいに呼び出して、応答を受け取ることができます。
これを行うには、Javaプログラムをサーブレットコンテナで実行し(JettyまたはTomcatで問題ありません)、PHPとJavaの間でHTTP要求/応答を使用します。サーブレットは、JavaプログラムにHTTPインターフェースを効果的に提供します。PHP側では、cURL 、、を使用してGETリクエストを実行したり、cURLを使用してPOSTを実行して応答を取得したりできますfile
。fopen
トランザクションに使用するデータ形式はあなた次第です。JSONは簡単な選択のようです。PHPには組み込みのサポートがあり、Javaには優れたライブラリがあります。
非常に粗雑で、最も効率的な
ソケットのような方法ではありません:
繰り返しますが、これは不親切で、上記の検索結果でわかるように、既成の解決策があります。