ISpy C# プラグインから単純な文字列のみを Java アプリケーションに送信しようとしています。
C# プラグインのクライアント コードは、この Web サイトからのものです... http://msdn.microsoft.com/en-us/library/bew39x2a.aspx
私のJavaコードは
ServerSocket serverSocket;
try {
serverSocket = new ServerSocket(8888);
System.out.println("Server is up");
Socket clientSocket = null;
try
{
System.out.println("Waiting for incoming connections");
clientSocket = serverSocket.accept();
System.out.println("Accepted incoming connection");
}
catch (IOException e)
{
System.out.println("Accept failed: 8888");
System.exit(-1);
}
}
catch (IOException e) {
System.out.println("Could not listen on port: 8888");
System.exit(-1);
}
プラグインをロードして ISpy アプリケーションを起動すると、プラグインの残りの部分は期待どおりに動作しますが、Java サーバー ソケットは C# プラグインからの接続を受け取りません。C# プラグインのクライアント コードは、このコードによって呼び出される別のスレッド内で実行されます...
_networker = new Thread(() => SendTest()) { Name = "networker thread", IsBackground = false };
_networker はスレッド オブジェクトのハンドルです。
私の質問は、C# クライアントが Java サーバー ソケットに接続しないのはなぜですか? Windows からプロンプトが表示されたとき、Java サーバー ソケットは許可されていました。私はWindows 8 64ビットを使用しています。
これが私の問題を解決するのに悪い方法であると思われる場合は、既にパイプを試しましたが、jvm と Windows OS を介した通信の間でより大きな問題が発生します。
これらのプログラム間でファイルの読み取り/書き込みができれば、それに反対することもありません。何がうまくいくとしても、ここで速度や効率を求めているわけではありません。