NDTP クライアント kenjiro に簡単な改造を施したので、その紹介です。
これらのパッチは、kenjiro 本体と同様、営利を目的としない限り自由に利用、 改造、修正、再配布できます。 kenjiro を利用する事により不利益や障害が発生しても、kenjiro 本体の作者 およびパッチの作者は、一切の責を負いません。 利用者の責任においてご利用下さい。
なお、私は拙作の NDTP クライアント BookView をメンテナンスしている関係 上、kenjiro に関してこれ以上の作業を行うつもりはありません。 したがって、改良案等のご提案を頂いても、お応えできる可能性は低いと思い ます。あらかじめご了承下さい。正しく動かないというご指摘に関しては、あ る程度対応できると思います。
何かございましたら m-kasahr@sra.co.jp にお願いします。
拙作の NDTP サーバ NDTPD は、kenjiro と正しく通信できません。 kenjiro がサーバに送信するコマンドは、行末コード 0x0a (LF) が抜けてい たり、あるいは行末コードの後ろに 0x00 (NL) が余計に挿入されていたりす るためです。 そこで、このようなコマンドの行末の誤りを直すパッチを作成しました。 パッチを当てた kenjiro は dserver とも正しく通信できます。
dserver はパッチを当てなくても kenjiro と問題なく通信できますが、これ は dserver が、行末コードの有無とは関係なく read システムコール一回分 で読めた範囲をコマンド行 1 行分としているためです。 これに対して、NDTPD は行末コードが来るまで行が終端したとはみなさず来 るまでひたすら待ち続けますので、いつまで経っても応答が来ません。
パッチ: ftp://ftp.sra.co.jp/pub/net/ndtp/misc/kenjiro-ndtpd.diff
kenjiro はサーバから書籍の一覧を取得することができません。 サーバが扱っている書籍名の一覧 (eiwa, waei, kojien 等) の情報は、あら かじめ kenjiro のバイナリに埋め込んでおかなくてはいけません。 (つまり、コンパイル前に、ソースコードに 書き込んでおかないといけ ないということです。 具体的に言うと config.h の dictionaries の初期化部分を修正します。) したがって、kenjiro のバイナリパッケージを入手したとしても、自分のサー バの書籍名と合わないために、結局ソースからコンパイルしなければならない ことがあります。 また、サーバの書籍の一覧に変更があったときも、kenjiro の再コンパイルを 余儀なくされることがあります。 これはあまりに面倒なので、サーバに接続する度毎にサーバから書籍の一覧を 得るようにするためのパッチを作成しました。
ただし、書籍の一覧を取得できるサーバを用いていないと、このパッチは効果 がありません。 書籍一覧の取得に対応しているサーバには、NDTPD 1.0beta2 以降や dserver 2.2 以降があります。 書籍の一覧を取得できないサーバに接続したときは、`eiwa', `waei', `kojien' という 3 つの書籍が一覧として登録されます。
パッチ: ftp://ftp.sra.co.jp/pub/net/ndtp/misc/kenjiro-dictlist.diff