【　タイトル　】ことりさんシステム　クライアント/サーバ 64bit
【 ファイル名 】KotoriClientu.exe / KotoriServer.exe
【　 作  者 　】PrePrayer Power Soft
【　作成環境　】MicroSoft Visual C++ 2026 community
【　動作環境　】10/11 64bit フリーソフト
【使用TCP PORT】51013(既定) 自由に変えられます
【　連　絡　先】https://ppp.oohara.jp/
【 バージョン 】サーバ：0.90e / クライアント：0.90e

インストール方法　　：解凍して適当なフォルダに置いてください。
アンインストール方法：レジストリはつかっていないため、消すときはそのままファイルを消してください。


このツールはサーバ上で公開されているファイルを検索しダウンロード/アップロードするのをメインとしたツールです。
プロトコルはTCPを使っていますがデータのやりとりは独自仕様です。

内容物：
KotoriClientu.exe　　　：クライアントソフト
KotoriServer.exe　　　 ：サーバソフト
readme.txt　　　　　　 ：このファイル

タイトルスプラッシュに自分で作ったものを表示させたい場合は、title_.bmpで絵を作ってください。
一番左上のドットが透過色となりリージョンを作成します。大きいと時間がかなり掛かります。

レジストリは一切使っておりません。(アイコンデータ獲得のために参照のみしております)
ことりさん実行時にできる各datファイルは構造体をそのままファイルに書き出したものです。よって、メモ帳などで改変などはしないでください。
自動的に作られるファイル：
　kotori.dat　　：ことりさんクライアントの各種データが保存されます。
　kotorihost.dat：接続先(基本設定)設定のコンボボックス内が保存されます。
　kotoriid.dat　：接続時のIDが保存されます。
　kotorilist.dat：検索キーの履歴が保存されます。
　log\フォルダ内：サーバのログがlog日付.txtで保存されます。

使い方(クライアント)(ダウンロード)

KotoriClientを起動する(タイトル読み込みのために若干の時間が掛かります)
起動後接続先の設定を行う画面が出ますので、相手のサーバのホスト名とポート名を入れてください。

《１》ことりさんへ接続をクリックし、IDを入れる。
正常に接続するとクライアントの下に「接続されました」と表示されます。
※バッファサイズを指定すると回線によっては効率よく転送できたりするかもしれません
　規定値は131072バイト(0x20000)となっています。

《２》検索キーを入れます。
検索キーを入れないと全部リストアップされてしまうため公開数によってはかなりのファイル数が表示されます。
検索キーの区切り文字は / または半角スペースとします。区切りはいくつあってもかまいませんが合計で200文字以内に抑えてください。
除外したいキーワードがあるときはキーワードの頭に-をつけてください。

どちらかのキーワードがある場合リスト獲得する場合
検索キー　キーワード1/キーワード2
として、AND時のチェックにはチェックを入れない
ANDにチェック入れていないためORとして処理されます。

両方のキーワードがあるファイルのみリスト獲得する場合
検索キー　キーワード1/キーワード2
として、AND時のチェックにはチェックをを入れる
ANDにチェックをいれるとすべてのワードに一致するもののみ検索するためかなり絞ることが出来ます。

両方のキーワードがあるファイルのみリスト獲得する場合
検索キー　キーワード1/キーワード2/-キーワード3
として、AND時のチェックにはチェックをを入れる
キーワード1,2を含み、3を含まないものが検索対象され処理されます。

日付で更に検索を絞りたい場合は日付検索のチェックを入れて日付指定してください。
ここでの日付はファイルを最後に更新した更新日付を指しています。

《３》獲得したリストからダウンロードしたいものを選択します。
複数選択しても大丈夫です。

《４》そしてダウンロードボタンを押します。
一応途中で中止出来ますが、たまに中止出来ないこともありますのでご了承ください。
回線の転送速度が速すぎたりすると中止ボタンを押すことさえ出来なくなります。
その場合は仕方ないので終わるまで待機していてください。
ダウンロードを開始すると画面がダウンロードリスト画面に変わります。
途中でダウンロードしたくないファイルが有る場合はこの状態で選択し削除をクリックしてください。

《５》終わったら必ずことりさんから切断を選択します。
出来る限り切断を行ってからことりさんを終了させてください。

※環境のよっては途中で転送が停止する場合があります。(→Ver 0.4bにてほぼ解決)
ファイルはレジュームされますので再度接続をして再開してください。
(一旦クライアントを終了させないといけない場合もあります)


使い方(クライアント)(アップロード)

《１》はダウンロードと同じです。

《２》アップロードモードへ移行する
画面右上にあるアップロードモードへ移行ボタンを押します。
そうするとアップできるフォルダ一覧が出ます。
目的のフォルダをクリックします。
そしてファイルまたはフォルダを1つまたは複数ことりさんの画面にドロップします。
レジューム機能はありません。また途中で停止する機能もありません。
すでにアップされているファイルと同じものをアップしようとすると今まで上がっていたものに上書きされます。
基本設定画面にて、上書き確認の有無を指定できます。

アップされたファイルは公開フォルダとして登録されている場合、普通に検索することにより検索できます。

最大の接続人数は現時点では100人としてます。
接続の度にスレッドを生成してますので最大人数の上限はマシンの許す限り可能ですが、
これだけの人が同時に接続することもないでしょうからこの数字としています。



使い方(サーバ)

まずは設定ファイルを作ります。
server.iniをまずは作ってください。文法チェックはしていません。正確に書いてください。
(付属のKotoriServerConfig.exeを使うことにより多少簡単に定義は掛けると思いますが、この
　付属ツールは手抜きでして1時間くらいで作ったものですのであまりテストしておりません。
　変な挙動をする可能性がありますので修正する前にはserver.iniをバックアップしてからお使いください)

1行目(一番最初)にサーバのポートを記述します。 !の後ろにポート番号を書いてください。
例)
!51013

2行目以降はサーバの公開フォルダ設定です
*ユーザ名
公開フォルダ
"アップロード用公開フォルダ
を羅列してください。
例)
*abcde
c:\data
c:\jpg
"c:\data

※公開フォルダの最後には \ はつけないでください。
　空行または//で始まる行はコメントとして扱われます。(1行目にコメントが有っても問題ありません)
　一番最後の行は必ず改行してください。
　ユーザの最大数は100です。公開フォルダは各ユーザで最大100です。(最大100x100で10000フォルダ)
　アップロード用公開フォルダは設定しないとアップロードモードは使えません。

server.iniの例

//ポート設定
!51013
//ユーザ設定
*abcdef
c:\temp
c:\data
*1234567
c:\temp
c:\jpg

上の例では２つあるID両方ともc:\tempへアクセスできます。


ini設定後、KotoriServerを起動します。
正常に起動しますと、画面左下に
Create(Port=xxxxx)
Listen(Num=10)
となり、画面右下に登録したユーザ一覧が表示されます。

各ユーザ一覧のチェックボックスのチェックを外すとそのユーザは一時的に接続出来ないように出来ます。

タスクトレイの右側にことりさんサーバのアイコンが乗ります。
誰かが接続してくると緑色になります。最小化するとタスクバーから消えます。
アイコンをクリックすると現れます。

ログはlog日付.txtという名前でKotoriServerと同じところに置かれます。


起動時にタイトルが表示されるのが遅いのはSetWindowRgnでリージョン作成(後ろが透ける処理)を行うに当たり、
タイトルの画像から透過色をドット単位で切り取っているためです。
何度でも見れるようにクライアントのバージョン情報画面から呼び出すことが出来ます。



----
著作権表記
oggファイルを再生するためにlibvorbis 1.2.0を使用しています。
----
