0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ゲートウェイとしての StreamRelay.jar

Last updated at Posted at 2017-06-21

java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar

StreamRelay.bat

ストリームの実体として、TCPやUDPだけではなく、RMI や Corba などが指定できるので、プロトコル変換器としても利用できる


RMIへ変換

サーバ側ではRMIレジストリサービスを起動する

START /min rmiregistry.exe
という感じ。その際に、StreamRelay.jar はクラスパスで検索できるようにしておかないとダメだ。

なので、
SET CLASSPATH=%CLASSPATH%;.
START /min rmiregistry.exe

という感じか・・・

サーバ側
java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar -LocalPort 1099 -LocalRMI -RemotePort 0

クライアント側
java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar -LocalPort 0 -RemotePort 1099 -RemoteRMI -RemoteHost 192.0.2.1

で、RMI で通信する

パケットキャプチャで、どんなだろ・・・という時に使えるかもしれない。


Corbaへ変換

サーバ側ではCORBAオブジェクトブローカーサービスを起動する

START /min orbd.exe -ORBInitialPort 1050

という感じか・・・

サーバ側
java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar -LocalPort 1050 -LocalCORBA -RemotePort 0

クライアント側
java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar -LocalPort 0 -RemotePort 1050 -RemoteCORBA -RemoteHost 192.0.2.1

で、CORBA で通信する

パケットキャプチャで、どんなだろ・・・という時に使えるかもしれない。


オプション

-LocalObjectName "リモート名"
-RemoteObjectName "リモート名"

既定はRMI/CORBA共に「StreamRelay」だけど、変更したい時に指定すればよい

-LocalHeartbeat
-RemoteHeartbeat

ハートビート、つまり相手が待機中かどうかハートビートメッセージを定期的に送りあうかどうかの設定。


マルチキャストUDPへ変換

マルチキャストアドレス(224.0.0.4)とUDPポート(33333/udp)という相手と、コンソール間でのデータ交換の場合

ローカルと呼称する側にマルチキャストを対応させる場合はこんな感じ
java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar -LocalHost 224.0.0.4 -LocalPort 33333 -LocalUDP -RemotePort 0

リモートと呼称する側にマルチキャストを対応させる場合はこんな感じ
java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar -LocalPort 0 -RemoteHost 224.0.0.4 -RemotePort 33333 -RemoteUDP

パケットキャプチャで、どんなだろ・・・という時に使えるかもしれない。

マルチキャストUDPは、コンソールなどと同じ扱い(一つの共通のスレッド)にしている
つまり
java.exe -Djava.security.policy=StreamRelay.policy -jar StreamRelay.jar -LocalPort 90 -RemoteHost 224.0.0.4 -RemotePort 33333 -RemoteUDP
の場合、ローカルと呼称する側に接続がある度に、リモート側のオブジェクトを生成するのではなく、一つのオブジェクトが複数のローカル側のオブジェクトと対話するようになっている(ブロードキャストモード/ブローカーモード)


目次へ戻る

目次というか最初の一歩

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?