2016-10-12 6 views
6

ネイティブクライアントアプリケーション(ブラウザではない)からJNLP Javaアプリケーションを起動しています。 JNLPが終了したら、呼び出し元のアプリケーションに文字列を返す必要がありますか?これどうやってするの?呼び出し元のアプリケーションに値を返すことは可能ですか?呼び出し側のアプリケーションをポートでリッスンして、JNLPアプリケーションがソケット経由でそのポートに値を書き込ませる必要がありますか?ネイティブ呼び出しアプリケーションはJNLPから戻り値を取得する方法はありますか。

+0

あなたはどのように通話しているかの例を投稿できますか? – karelss

+0

@karelss - javaws はProcess :: StartでC#で呼び出されます – user93353

答えて

1

all-permissions要素が指定されている場合は、C#アプリケーションから読み取れる環境変数を設定できます。 Javaで

設定環境変数:C#で

System.getenv().put("returnValue", "yourValue"); 

読む環境変数は:

ProcessStartInfo p = new ProcessStartInfo("start ...."); 
.... 
string returnValue = p.EnvironmentVariables["returnValue"]; 
+0

これはうまくいかないと思います - 子プロセスは別個のプロセスです - 親プロセスの変数envのコピーを継承します。子供は親に反映されません - 少なくともこれはほとんどのオペレーティングシステムでどのように動作するのですか?ウィンドウでテストして見ます。 – user93353

1

私はソケットを使用するためにあなたのアイデアを好きで、これは簡単な解決策になる可能性があると思います。

WebStartアプリケーションから戻り値を取得することはできません。

javaws --help 

返信コードはありません。 (申し訳ありません)

あなたはソケットの代わりに一時ファイルを使いましたか?

1

これはちょっと古いですが、これは2つのプロセスを相互通信するための既存のオプションであることがわかっているので、linkです。

私はあなたの問題を解決する最も簡単な方法は、RMIを使用するか、またはすることができます、または単純なソケット自分の質問に答える

2

場合、JMXだと思います!

私は親

string ret = process.StandardOutput.ReadToEnd(); 
  • Process::WaitForExit(); 
    
  • から標準出力親が子プロセスを起動

    Process::Start 
    
  • 読む子プロセス(JNLP)

    • からstdoutに書き込みます

    誰もがこの問題を認識していますか?

  • 関連する問題