﻿【ソフト名】EchoServer
【著作権者】GMA0BN
【動作環境】Windows Vista/7
【開発環境】Visual Studio 2010
【ライセンス】
The MIT License (MIT)
詳細および免責事項→licence.txt参照

以下本文。
―――――――――――――――――――――――――――――――――――――
*** はじめに
本ソフトウェアはechoサーバをWinsock 2.0で実現するものです。

Echoサーバのサンプルは世に溢れてるようですが、筆者が見た限りでは、
BSDソケット前提かつIPv4専用のものがほとんどのように見受けられます。
（2013/06時点）

そういったサンプルはかなりの率で
    ファイルディスクリプタ番号 ＜ FD_SETSIZE
という関係に依存しており、するとそのままではWinsockでは動かないため、
ここにWinsock 2.0前提のデュアルスタック対応マルチスレッドサーバとしての
echoサーバを作成しました。

なお、Windowsにおいては、WaitForMultipleObjects()の制限により
MAXIMUM_WAIT_OBJECTS個（通常64個）を超えるスレッドの終了を
一発では待てないのですが、この制限もクリアして
64個を超える同時接続からの終了処理を実現しています。

*** ファイル構成
./EchoServer/*      -- Echo serverプロジェクト
./EchoServer.sln    -- Visual Studio 2010 ソリューションファイル
./licence.txt       -- MIT Licence本文
./README            -- 本ファイル

*** インストール方法
1. Echo serverプロジェクトをビルドする。
2. ./$(TargetDir)にEchoServer.exeができるので、適当なフォルダにコピーする。

*** アンインストール方法
1. EchoServer.exeを削除する。

*** 使い方
EchoServer.exe <ポート番号>

*** 履歴
2013/06/23  Initial revision.
2013/06/25  IPv6Serverプロジェクトを分離。
            IPv6Serverプロジェクトはpublic domainに置く。
2013/07/07  sockutilモジュールにクライアント作成支援インターフェースを追加した。
2013/07/09  サーバ機能テスト用のプログラムTestClientを追加した。
