2016-12-31 11 views
3

私はPythonプログラムstatus.pyを使用して、いくつかのステータス更新(文字列)をコンソールに表示します。しかし、Pythonプログラムを起動してPythonプログラムのステータス更新をTextAreaに出力するJavaFXプログラムDisplay.javaを書く必要があります。PythonプログラムからJavaプログラムにデータを送信

これを達成するために、status.pyを変更してステータス更新をテキストファイルに書き込んだ後、JavaプログラムでテキストファイルをTextAreaに読み込ませるようにしました。

テキストファイルの方法は機能していますが、より良いコミュニケーション方法があるように感じます。私は、Pythonプログラムが状態更新をソケットに書き込んで、JavaプログラムがServerSocketを使ってソケットをlistenすることを考えています。

status.pyDisplay.javaの間の通信を実現する最善の方法は、ソケットを介して通信するなどのネットワーキングアプローチを使用していますか?そのようなプロセス間通信を実現する最良の方法は何ですか?

+1

ソケットは、プロセス間通信、特にクロスランゲージの完全な合理的な手段です。 – Amber

+1

これを確認してください:http://stackoverflow.com/questions/17262364/passing-data-from-a-java-program-to-a-python-program-and-getting-results-back –

+0

ありがとうございます。私はおそらくソケットで行くだろう。私が使用するいくつかの特別なPythonライブラリがあり、Jythonでどのように動作するのかよく分かりません。私はJythonを使ったことは一度もありませんでしたが、将来私は確かにそれを詳しく見ていきます。 – jshapy8

答えて

1

JavaプロセスにPythonのプロセスからの情報を通信するための2つのオプションがあります:

  1. Javaの人気ネットワーキング・ライブラリは、ソケットを介してデータを読み込むことが簡単になりますが。 Pythonでソケットを簡単に開くことができるので、ソケット通信を実装するのが最も簡単な方法です。
  2. Jythonの経験がある場合は、Javaコード内にPythonコードを組み込むことでプロセス間通信を行う必要がなくなります。
関連する問題