2008年6月28日

===============================================================================
	Nicort - ２ちゃんねるニコニコ実況ツール
===============================================================================
                                            Copyright(C) 2007-2008 ◆wRjqzRYkxg


◆WHAT'S "Nicort"?

Nicortは、２ちゃんねるのスレッド（実況系スレ）からコメントを取得して、ニコニコ
動画I/Fで表示するソフトウェアです。リアルタイムにニコニコ動画形式でコメントを
見るために用いることを意図しています。


◆HOW TO USE
※下部のライセンスに同意できない場合は使用できません。

(1)
まず、パソコンで実況したいテレビ番組を観てください。
作者はI-O DATA製のmAgic TVでいつもみています。
※テレビ家電で観ている人はNicortは無用の長物です。

(2)
Nicortを起動してください。

(3)
一番上のURLボックスの中から見ているチャンネルを選びます。
# 2007/08/17時点での各局URLをプリセットしています。
もしくは、２ちゃん板のURLを打ち込んで、「読込」ボタンを押下してください。
スレッドの一覧が表示されます。

(4)
実況スレッドをダブルクリックします。
実況ウインドウが開き、一方スレッド一覧ウインドウは最小化されます。

※下部のテキストボックスにIPアドレスを入力して実況を開始すると、
　ウインドウ展開時にP2P接続を行い、レス取得のレイテンシを改善します。

※また、下部の「サーバとして公開する」チェックボックスをチェックした状態で
　実況を開始すると、ウインドウ展開時に38151番ポートで受信を待機します。

(5)
実況ウインドウを、テレビ画面の上に重ねて、実況を楽しんでください。
ウインドウを移動させるには、左上隅の灰色のコーナーをドラッグしてください。
なお、テレビ画面への追従や、サイズの変更はサポートしていません。

(6)
実況中、右下のボックスは赤色と青色に変化します。
これはウインドウのフォーカスを表していて、青色の場合には入力フォーカスが
整っています。青色の時に何らかのキー入力を行うと、テキストボックスが表示
され、そのままEnterキーによってスレッドへ書き込みできます。書き込みスレッ
ドは、書き込み時点で内部的に保持している更新頻度最速スレッドになります。

なお、クッキーがない場合などは失敗しますので、そのときはもう一度書き込ん
でください。

(7)
終了するときは、実況ウインドウの右下の■でダブルクリックするか、
右クリック→メニューから、ウインドウを閉じてください。
スレッド一覧ウインドウは自動的に通常サイズで表示され、
スレッド一覧がリロードされます。

◇そのほか

(1)
メニューからフォントサイズを選ぶことができます。

(2)
Version 1.3 から、スレッドの自動更新機能が自動的に動いているため、基本的に1000レス超えのときのスレッド以降作業は不要になりました。
この機能は、次のように動作します。
・15 秒おきにスレッド一覧を読み込み、コメントの増加量をモニタします。
・最大2スレッドまで並列に読み込みを行い、実況画面に表示します。
・コメントの増加量が1位のスレッドをモニタしていない場合、順位が一番下のスレッド実況を中止し、もっとも高順位のスレッドの実況に切り替えます。このとき、灰色のメッセージで切り替えを知らせます。

なお、本機能により、（更新頻度の低い）特定のスレッドを実況することはできなくなりました。

(3)
Version 2.4 から、サーバホスティング用の hosting.exe を同梱しました。
複数のポートを使用することによって、同時に複数の板をホスティングできます。

(4)
Version 2.3b から relay2ch.exe がサーバとして起動できるようになりました。
コマンドプロンプトから、
	> relay2ch.exe s <2ch host> <board name> {0|port}
とすると、２ちゃんねるからのレス取得をしない、完全にP2P中継に特化した動作をします。


◆仕様

P2Pネットワークに接続した状態だと、レスの表示におおよそ3秒の遅延があります。
# これは、P2Pノードの誰かが3秒で読み込んでくれるからです。

P2P機能を利用しない場合、レスの表示には約20秒の遅延があります。
これはサーバへの負荷軽減のため、バッファリングのための時間です。

◇
２ちゃんねるへのプロクシ経由接続は確認していません。


◆ライセンス

本ソフトウェアは"AS-IS"で供されるものであって、本ソフトウェアを利用したいかな
る結果についても作者はその責を負わないものとします。（免責）

本ソフトウェアを、公共の福祉に反するような行為のために用いることを禁止します。

本ソフトウェアの再配布を禁止します。


◆動作確認環境

Microsoft Windows XP with SP3
Microsoft .NET Framework 3.5

NEC VALUESTAR TX
Intel Pentium 4 3.2GHz
I-O DATA GV-MVP/GXW & mAgic TV (5.20.00)
ATI Radeon X1300XT (512MB VRAM) + DirectX 9.0c
	# 1600x1200x32bpp シングルディスプレイ


◆改版履歴

2.6d	ウインドウ位置や表示スタイルなどを保存し、次回実行時にも反映するように改善した。
2.6c	公式サーバへの定期登録更新スレッドがタイムアウト時に落ちていたのを修正した。
		正常に終了してもサーバ側とシャットダウン手順を踏まない場合があるバグを修正した。
2.6b	HTTPの差分コンテンツに対する扱いがおざなりになっていたのを修正した。
		活性スレに早く移動するため、実況開始後一定時間は短周期で勢いを監視するように変更した。
		初期登録の実況板を増強した。
2.6		レス番号のインクリメント処理が最適化でおかしくなっていたバグを修正した。
		アップデートされたバージョンがあるかどうかをチェックするようにした。
		公開サーバに最初に接続したピアは 3 秒間隔でレスを取得するようにした。
		（最初に接続したピアがネットワークから離脱した場合は、別のピアを加速する。）
2.5c	IPv6アドレスを公開していたのを修正した。
2.5b	リリースビルドでP2P接続がタイムアウトになり不安定になっていたバグを修正した。
		サーバノードの場合は定期的に公式サイトの登録情報を更新するようにした。
		P2PでIPアドレスを扱う方法を改善した。
		P2P接続を終了するときの"BYE"手順が終了する前に切断してしまうバグを修正した。
		プログラムファイルにアイコンを設定した。(http://www.mouserunner.com/Spheres_Cell.html)
2.5		すでに落ちたサーバがあるときの動作を安定させた。
		メインウインドウを新しくした。
		boardlist.xml から板一覧を読み込むようにした。
		nicort.exe.config にて文字色の指定ができるようにした。
2.4f	ノード未接続の状態で安定しすぎて、P2P接続が復帰しない不都合を修正した。
2.4e	どのノードとも接続していない状況での動作を安定させた。
		「マップ」「キュー」の表示について描画タイミングを効率化した。
		ディフォルトの表示形式を「キュー」に変更した。
		HTTPリクエスト時のタイムアウトを5秒に設定した。
		「マップ」「キュー」の表示時に排他制御が抜けていたバグを修正した。
2.4d	ディレイの計算方法を改善した。
		トリップ付きのレスの解析に不都合があったのを修正した。
2.4c	スレッドの追尾対象選択アルゴリズムのバグを修正した。
		スレッドの差分読み込み時に content-range を使用するようにした。
2.4b	文字の縁取りの厚みをフォントサイズに応じて可変にした。
2.4		サーバホスト用に hosting.exe を追加した。
		実況中のレス表示方式に「マップ」と「キュー」を追加した。
		ディフォルトのレス表示方式をマップに変更した。
		<<P2P NETWORK DOWN>> の表示がうざったかったので消した。
2.3b	relay2ch.exe をサーバとして起動できるように改造した。
2.3		http://www7.atpages.jp/nicort/ を公式サイトとしてオープンした。
		P2Pサーバノードとして開始した場合には上記サイトに登録するようにした。
		P2Pノードキャッシュが空の状態であれば上記サイトから定期的に取ってくるようにした。
2.2d	ウインドウの最小サイズ制限をより小さくした。
		フォントサイズの指定を絶対値ではなく相対値で指定できるようにした。
2.2c	サーバモードで<P2P DISCOVERING>が頻発する現象に対策した。
2.2b	サーバ動作の開始バグを修正した。
2.2		セッションの区別(Passive,Active)を逆にしていたバグを修正した。
		簡単なレポート機能をつけた。
		ノード情報をadvertiseスレッドとmaintainスレッドを分離した。
2.1		P2Pノードとの通信プロトコルに正規終了手順を実装した。
		ウインドウが小さいと区二以上周するバグを修正した（というか小さくならないようにした）。
		ディレイの計算式を、過去256レスの平均遅延時間×２にした。
		レスの密度を調整する機能を搭載した。
		レスの重複をなくした。
		レス書き込み機能を搭載した。
		最長レス読み込み間隔を20秒にした。
2.0		ノードから受信したときに生成するキャッシュのタグ付けミスによる、
		新着レスがキッシュ済みと誤認するバグを修正した。
		遅延時間の動的最適化を実装した。（画面で棒で表示する。）
		スレッドが1000越えしたときに即時に別のスレッドへ移行するようにした。
1.4		P2P接続を実装した。
1.3		フォントサイズを選択できるようにした。
		スレッド自動移行機能を搭載した。
４版	スレッド一覧ウインドウを自動的に最小化するようにした。
		オーバーレイウインドウの位置を、起動中は覚えておくようにした。
		オーバーレイウインドウが閉じたときにスレッド一覧ウインドウが元に戻るようにした。
		オーバーレイウインドウが閉じたときにスレッド一覧をリロードするようにした。
３版	サーバと日時がずれている場合に挙動がおかしくならないようにした。
２版	コメントの表示ビットマップをキャッシュするようにした。
初版	公開した。


◆以上◆
