Java Simple Proxy Library　0.42
2004/10/28	Tomoo Mizukami


この「Java Simple Proxy Library」は、マルチスレッドに対応し、ダイナ
ミックに起動／終了させるためのプロキシ機能を提供するJavaライブラリです。この
ソフトの特徴を以下に挙げます。

-マルチスレッド対応ライブラリ。自由に必要な時だけプロキシを立ち上げられる
-キャッシュ機能を登載していない
-アクセスの除外／許可機能なども一切登載していない

　ものすごく簡単にいうと、delegateの-tcprelay機能のみを提供するものだと
思っても間違いありません。このライブラリを使用すると、SSHライブラリと組み合
わせて、リモートからローカルネットワークのサービスにアクセスするようなもの
（※1）を作るときに便利です。また、プロキシというソフトウェアの構造的恩恵を
受けたいとき、例えば、TCPのヘッダを書き換えたいだけの用途（ときどきあるかも
しれません）にも、テスト用にこんなものを使うのは便利だとおもいます。
　バッファサイズは4096バイトです。リミッタを登載していませんから、トラフィ
ックとJavaのメモリが許す限りはいくらでもプロキシを立ち上げられます。とんでも
なくシンプルなモデルなので、全体把握が容易です。ほしい機能があったら、自分で
自分で拡張されることをお薦めします。
　このライブラリは修正BSDライセンスでで配布しており、無償のソフトウェアで
あることを理解してください。何か、お問い合わせ／ご要望がありましたら、


What's new 
・送信元からTCPRelayまでと、TCPRelayから宛先までの速度が
違ったときに、read待ちで止まらず、別の作業を挟み込むことが
できるBoundedBuffer版を用意しました（2/10）。
net.bakingpowder.jspl.tcprelay.buffering

・応用例のイメージが湧かないという人がおりましたので、改造の応用例として、
分散プロキシでトンネリングをするクラスと、それを呼び出すためのサンプルを
加えました（12/12）。
net.bakingpowder.jspl.tcprelay.distributed




yuaoki{at}users.sourceforge.jp

に連絡をください。

■マルチスレッドで使うときの例

　以下にJavaでマルチスレッドで使う場合の例を示します。
ーーーーーーーーー
			MyProxy t = null;
			try {
				t = new MyProxy(lport, "localhost", llport);
			} catch (Exception e) {
				e.printStackTrace();
			}
			
			Thread pxy = new Thread(t);
			pxy.start();
ーーーーーーーーー
　これで、プロキシのスレッドが起動します。止めるには、			
ーーーーーーーーー
			t.setStopper(true);
ーーーーーーーーー
　を使います。これにより、そのスレッドが終了します。

Copyright (c) 2004 Tomoo Mizukami
All rights reserved.

※1　そんなソフトウェアを作っています。このソフトウェアはそれの副産物です。
