| Triangle Project |
| Code Library |
| for Visual Basic |
| tps20050904.lzh / .net | ||
| 正しいファイルパス文字列を取得する 大文字小文字を意識しないパス文字列を実際のパス文字列に変換する。 |
||
| tps20050814.lzh / .net | ||
| クライアント毎に個別のスレッドを立ち上げるタイプでのサーバー。 UTF-8文字コードの取り扱いを実装。 |
||
| tps20050731.lzh / .net | ||
| FTPで使用するデーターコネクション用ソケットの実験プロジェクト。 リッスンタイムアウト、コネクトタイムアウト、ファイル転送タイムアウト、転送データー量の制御(バイト/秒)、レジューム対応,を組み込み。 テキストモードでは、 保存テキストファイルの文字コードを判定して任意の文字コードにて送信する、 任意の文字コードにて受信し、任意の文字コードにてテキスト保存する機能を実装。 |
||
| tps20050718.lzh / .net | ||
| BinaryFirstInFirstOut(FIFO) バイトデータを蓄積する。バイト配列からデーターを切り出す。 蓄積データーから指定バイト数を読み出し、先頭切り詰めを行う。 蓄積データーからCRLFを区切りとした文書一行分に相当するバイトデーターを読み出し、先頭切り詰めを行う。 |
||
| tps20050703.lzh / .net | ||
| 文字コードの判定とUTF8へ変換する時の長さの取得 <重要>この機能の重要なロジックは http://dobon.net/ 「メールマガジン dotnet43.txt 文字コードを判別するには?」に依存しています。必ず原典を参照してください。 ハードディスク上のファイルをネットワーク上にUTF-8コードで送出する場合に必要な情報を入手する為にこのルーチンを作成。 |
||
| tps20050619.lzh / .net | ||
| クライアント毎に個別のスレッドを立ち上げるタイプでのサーバー。 最大サービス数の設定項目をコードに反映。タイムスタンプのUTC表示設定項目をコードに反映。Interrupt Process(IP)信号+Synch(DM)信号に対応仮想ファイルシステムのモニター画面を手直し。 |
||
| tps20050607.lzh / .net | ||
| 文字コード関連の検証プロジェクト デフォルトエンコーディングを調べる、'システムが、リトル エンディアンかビッグ エンディアンかを調べる、文字コード番号を調べる、コードを変換する、各国文字の表示、文字コードを指定して読み取る、ファイルの文字コードを変換する、ディレクトリー・ファイル名に各国語を使う。 |
||
| tps20050530.lzh / .net | ||
| バイトデータを操作するユーティリティー バイトデーターをビット表示する、バイトデーターのビットの並びを反転する、を追加。 |
||
| tps20050522.lzh / .net | ||
| バイトデータを操作するユーティリティー バイトデータを蓄積する、バイト配列からデーターを切り出す。 バイト配列をバッキング ストアとして使用する、MemoryStream クラスをバッキング ストアとして使用する。 |
||
| tps20050429.lzh / .net | ||
| バイトデータを操作するユーティリティー。 バイトデータを蓄積する、蓄積データのクリア、蓄積データに指定したパターンが含まれているか、二つのバイト配列を結合する、バイト配列からデーターを切り出す。 |
||
| tps20050417.lzh / .net | ||
| 設定画面の手直し | ||
| tps20050410.lzh / .net | ||
| 1,000コネクションまでの負荷テストを実施.。 | ||
| tps20050321.lzh / .net | ||
| MLST、MLSD に対応。 .....したつもり。 | ||
| tps20050313.lzh / .net | ||
| レジュームに対応。 .....したつもり。 | ||
| tps20050227.lzh / .net | ||
| クライアント毎に個別のスレッドを立ち上げるタイプでのサーバー。FTPサーバーの基本機能を組み込み、かろうじて動く程度です。細かな検証、負荷テストは未実施、拡張コマンド未実装です。 | ||
| tps20050203.lzh / .net | ||
| FTPで使用するデーターコネクション用ソケットの実験プロジェクト。リッスンタイムアウト、コネクトタイムアウト、ファイル転送タイムアウト、転送データー量の制御(バイト/秒)、レジューム対応を組み込み。 | ||
| tps20041219.lzh / .net | ||
| クライアント毎に個別のスレッドを立ち上げるタイプでのサーバーモデル。セッション管理テーブル、メンバー管理テーブル、アイドルタイムアウトを組み込み。メンバー管理UI,サーバー設定UIを追加。 負荷テスト用のプロジェクトを同梱。テストはクライアントを順番に接続して行き、全てが接続を完了すると、一斉に送受信を行う方法でテスト。クライアントの数として1000まで挙動を確認した。 |
||
| tps20041107.lzh / .net | ||
| クライアント毎に個別のスレッドを立ち上げるタイプでのサーバーモデル。セッション管理テーブル、メンバー管理テーブル、アイドルタイムアウトを組み込み。 負荷テスト用のプロジェクトを同梱。テストはクライアントを順番に接続して行き、全てが接続を完了すると、一斉に送受信を行う方法でテスト。クライアントの数として1000まで挙動を確認した。 |
||
| tps20041011.lzh / .net | ||
| クライアント毎に個別のスレッドを立ち上げるタイプでのサーバーモデル。 セッション管理テーブルを追加、アイドルタイムアウトを追加。 負荷テスト用のプロジェクトを同梱。 テストはクライアントを順番に接続して行き、全てが接続を完了すると、一斉に送受信を行う方法でテスト。クライアントの数として1000まで挙動を確認した。 |
||
| tps20040919.lzh / .net | ||
| ArrayListの実験コード。ArrayListの操作関数を共有メッソドとしてクラスにパッケージした。更に共有メッソドにはMonitorによるロック機構を組み込み。 'テストはスレッドを多数立ち上げ一斉に共有メソッドにアクセスするようにした。800スレッドでの一斉アクセスまでテスト確認した。 |
||
| tps20040904.lzh / .net | ||
| クライアント毎に個別のスレッドを立ち上げるタイプでのサーバーモデル。構成はエコーサーバーとし、ソケットは同期・非同期入り混ぜて使用している。同期送信と非同期送信で処理時間が大幅に違う現象の検討プロジェクト。 同期送信で処理時間 0ms〜47msである。 非同期送信でコールバックされるまでに516ms〜4700ms掛掛かる。 負荷テスト用のプロジェクトを同梱。テストはクライアントを順番に接続して行き、全てが接続を完了すると、一斉に送受信を行う方法でテスト。クライアントの数として1000まで挙動を確認した。 |
||
| tps20040829.lzh / .net | ||
| クライアント毎に個別のスレッドを立ち上げるタイプでのサーバーモデル。 構成はエコーサーバーとし、ソケットは同期・非同期入り混ぜて使用している。 負荷テスト用のプロジェクトを同梱。テストはクライアントを順番に接続して行き、全てが接続を完了すると、一斉に送受信を行う方法でテスト。クライアントの数として1000まで作動を確認した。 |
||
| tps20040821.lzh / .net | ||
| MSDNの"非同期サーバー ソケットの例"に有るサンプルコードで、どの程度のパフォーマンスかをテストするプロジェクト。コードはMSDNそのままである。 負荷テスト用のプロジェクトを同梱。 |
||
| tps20040613.lzh / .net | ||
| 非同期サーバーソケットの実験コード。 サーバーのスケルトンモデルと成る。構造を一部見直し。<追記:一部不具合あり> |
||
| tps20040606.lzh / .net | ||
| 非同期サーバーソケットの実験コード。 サーバーのスケルトンモデルと成る。構造を大幅に変更。チャットクライアントとの組み合わせでテスト |
||
| tps20040530.lzh / .net | ||
| 非同期ソケットによるシングルサービスソケットの実験コード。 チャットサーバーとクライアントへの実装実験。ステータス情報の扱いを少し変更。 |
||
| tps20040529.lzh / .net | ||
| 非同期ソケットによるファイル転送の実験コード。 ソケットは非同期作動、ファイルアクセスは同期アクセスです。ファイルアクセスにタイムアウトを追加。 |
||
| tps20040509.lzh / .net | ||
| FTPサーバーを構築するベース メインフォーム・メンバーモジュール・ファイルモジュール・設定モジュールを結合した。この上にFTPプロトコルを構築して行く。 |
||
| tpsFileUtility03.lzh / .net | ||
| FTPサービスに必要なファイルのリストアップモジュール。ディレクトリーのマウントを実験。 仮想ファイルシステム(VFS : VirtualFileSystem)の極々簡易版。 |
||
| tpsFileUtility02.lzh / .net | ||
| FTPサービスに必要なファイルのリストアップモジュール。指定したディレクトリー以下のホルダー・ファイルを配列にリストアップする。 一層取得と再帰取得の両方に対応、通常の形式とFTPの形式の両方に対応。FTPで使用するテキスト形式でのリスト出力とディレクトリチェンジを追加。 |
||
| tpsMultiThreadr02.lzh / .net | ||
| マルチスレッド 基本実験プロジェクト 配列管理でのスレッド作成、スレッド間の呼び出しを実験。待ち行列(FIFO)、タイマーファイヤー、MUTEXを実験実装。 一般にスレッドは関数の呼び出しで作成され、関数の終了により消滅するが、このサンプルはフォームを作成している為、状態を保持している。 |
||
| tpsRandomizer01.lzh / .net | ||
| 乱数発生ルーチンの実験。暗号化に使用する厳密なランダムバイトを作成する方法と通常の乱数発生方法をビジュアルにプロットし比較した。 | ||
| tpsTextReadWrite01.lzh / .net | ||
| テキストデーター(CSV形式)からの読み込みと書き出しの実験。 サーバーの各種設定を行うユーザーインターフェースにて実験。 |
||
| tps20040118.lzh / .net | ||
| 非同期ソケットによるコネクション終了シーケンスの実験コード。 ソケットの参考書に有る、コネクション終了シーケンス(正しくクローズする)を実験する為に各ステップを単独で操作出来る様にし、Toolソフトで各ソケット・パケットの状態を確認した。参考書に有るシーケンスと少し違った結果であるがテスト環境が原因の可能性あり。 |
||
| tpsFileUtility01.lzh / .net | ||
| FTPサービスに必要なファイルのリストアップモジュール。 指定したディレクトリー以下のホルダー・ファイルを配列にリストアップする。 |
||
| tps20040104.lzh / .net | ||
| 非同期ソケットによるファイル転送の実験コード。 シングルサービスのソケットで、ファイル転送専用です。ソケットは非同期作動、ファイルアクセスは同期アクセスです。ファイルアクセスはSystem.IO.FileStreamを同期モードで使用した。 転送の開始は接続の完了、転送の完了はSender側のクローズ。 |
||
| tpsFileAccess01.lzh / .net | ||
| System.IO.FileStream を使用したファイルアクセスの実験プロジェクト。3種類の小さなプロジェクトのパッケージ 1.ファイルを排他処理してオープン 2.ファイルへ同期アクセスして、転送 3.ファイルへ非同期アクセスして、転送 |
||
| tps20031214.lzh / .net | ||
| 非同期シングルソケットクラスの実験プロジェクト/.net winSock.ocxと似た使い方が出来るように変更。 実証実験として、非同期シングルソケットを使用したチャットサーバーとクライアントへの実装実験。 |
||
| tps20031207.lzh / .net | ||
| 非同期サーバーソケットクラスの実験プロジェクト/.net 非同期サーバーソケットのサンプルソースコードと、チャットサーバーへの実装実験。 |
||
| tps20031130.lzh / .net | ||
| 非同期ソケットクラスの実験プロジェクト/.net シングルの非同期ソケットのサンプルソースコード。 受信のルーチン見直し。 非同期ソケットを使用したチャットサーバー・クライアントにて実装実験。バイナリーデータは処理できません |
||
| tps20031124.lzh / .net | ||
| 非同期ソケットクラスの実験プロジェクト/.net シングルの非同期ソケットのサンプルソースコード。非同期ソケットを使用したチャットサーバー・クライアントにて実装実験。バイナリーデータは処理できません |
||
| tps20031122.lzh / .net | ||
| 非同期クライアントソケットクラスの実験プロジェクト。 非同期ソケットを使用したチャットクライアントを作成。リスナー機能はありません。バイナリーデータは処理できません |
||
| tps20031116.lzh / .net | ||
| 非同期ソケットクラスの実験プロジェクト、サーバー機能のみ、バイナリー未対応 非同期ソケットを使用したチャットサーバーを作成。 少し怪しい所もあるが今後の課題。 |
||
| tpsMultiThreadr01.lzh / .net | ||
| マルチスレッド 基本実験プロジェクト スレッドの動かし方と各スレッドで使用する変数の独立性を確認。 |
||
| tpsClassTimer01.lzh / .net | ||
| .NET Framework Version 1.1 System.Threading.Timerを使用したタイマークラスの実装実験。 | ||
| Hello World dotnet.lzh / .net | ||
| .net版 Hello World。 <01 コンソール版(Module), 02 コンソール版(Class), 03 フォームをコードで作成する, 04 予め作成されているフォームをクラスから呼び出す> |
||
| VirtualFileSystem04.lzh | ||
| パーミッションのロジックを組み込み。 | ||
| VirtualFileSystem03.lzh | ||
| 仮想ファイルシステムの骨格となる仮想ディレクトリの扱いに付いて実験。 ディレクトリーマウント、仮想ディレクトリファイルの作成、仮想と実際のディレクトリ相互変換の実験。 |
||
| VirtualFileSystem02.lzh | ||
| ディレクトリーマウントのイメージをつかむ為の実験。 | ||
| VirtualFileSystem01.lzh | ||
| VirtualFileSystemへの準備の為の実験プロジェクト。 Nodeを理解するために、TreeViewを使用して実験。 |
||
| SharedMemory02.lzh | ||
| 共有メモリーのサンプルプログラムのソースコード。セマフォによる排他処理を行っている。 | ||
| FileSystemObject02.lzh | ||
| FileSystemObjectを使用したリスト,属性の取得,フォルダーの削除、ファイルの削除、ファイル・フォルダーの有無確認です。FileSystemObjectの実験はこれで終わりです。 | ||
| FileSystemObject01.lzh | ||
| FileSystemObjectを使用したファイル操作のサンプルプログラムのソースコード。 今回はリストと属性の取得だけです。(課題:個々のファイル操作、仮想配列、メンバー管理との融合、バーチャルファイルシステム……、自分でも良く分からない) |
||
| tps20030427.lzh | ||
| ***マルチスレッドで作成した一区切り版/VB6で作成した最終版:*** サイトの基本設定をするユーザインターフェースを見直し・修正。 メンバーとパーミッションの管理ポリシー作りが今後の課題 |
||
| tps20030413.lzh | ||
| Winsock.ocxを使用した FTPサーバーのサンプルプログラムのソースコード。マルチスレッドで作動する。 メンバー管理を組み込み(基本的な項目のみ)。機能はシングルスレッドで作成した最終版と同等。 |
||
| tps20030406.lzh | ||
| マルチスレッドで作動する。セッション管理を組み込み(基本的な項目のみ)。メンバー管理は実装していない。 細かな制御はこれから。 |
||
| tps20030330.lzh | ||
| マルチスレッドへ移行した。(マルチスレッドで動いているだけの代物) マネージャーモジュールにはサーバントモジュールの機能確認の為だけの機能を記述した。制御機能はこれからである。 |
||
| tps20030323.lzh | ||
| マルチスレッドへ移行する為の前準備。(シングルスレッド) 細かな制限機能の組み込みを行なった。オマケとして、FTPでのチャット機能を実装した、本格的なサーバーでは不要。 |
||
| tps20030316.lzh | ||
| FTPサーバーをマルチスレッドへ移行する前準備として、シングルスレッドにてコードの切り分けと配置の見通しを立てた。 | ||
| svSkeleton03.lzh | ||
| サーバーのスケルトンモデル。 1対多のクライアントサーバーモデル。 セマフォ、待ち行列、タイマーファイヤー、システムトレーへの格納、二重起動防止、ユーザー定義型でのプロセス間参照渡しを実装。 相手プロセスいがタダ一個の場合セマフォを複数立てても意味が無い様に思うのでセマフォを二個から一個に変更した。 |
||
| filelock01.lzh | ||
| ファイルアクセス制御の実験ソースコード。 マルチプロセス環境での複数タスクからハードディスク、及びファイルへの同時アクセスに関する考え方を整理した。 セマフォによる排他制御、VBでのオーソドックスなコーディングでの排他ロックを実験。 |
||
| svSkeleton02.lzh | ||
| サーバーのスケルトンモデル 二重起動防止の追加、その他手直し。 |
||
| svSkeleton01.lzh | ||
| サーバーのスケルトンモデル アクティブXexe同士での相互参照による、マルチスレッド、マルチプロセスを実現。 セマフォ,待ち行列、タイマーファイヤー,システムトレーへの格納を組み込み。 |
||
| multithread006.lzh | ||
| マルチプロセスからハードディスクへの同時アクセスが発生した場合の挙動確認のために実験した。 multithread004.lzh ,multithread005.lzh と機能は同じ。 |
||
| multithread005.lzh | ||
| multithread004.lzh を少し改造、機能は同じ。 マルチスレッド・排他処理・イベント通知はこれで決まりか? |
||
| multithread004.lzh | ||
| マルチスレッド/マルチプロセスの実験ソースコード。 セマフォによる関数の多重呼び出しの排他処理を実験。 待ち行列とタイマーファイヤー?を使ってのイベント通知の実験。 |
||
| tps20030105.lzh | ||
| ***シングルスレッドで作成した最終版:*** FTPサーバーのシングルスレッドで作成した最終版サンプルソースコード。FTPプロトコルを理解するために作成した。 要件の全ては実装していないがFTPサーバーの基本は実現出来たと考える。 個人で使う分には使用可能と考えるが、多人数で同時アクセスすると問題が発生するかも知れない。この辺は次のマルチスレッドで解決するかも知れないと思う。 |
||
| multithread003.lzh | ||
| マルチスレッドでのActiveX EXE 同士の相互参照の実験 タイマーファイヤー?を使ってのイベント通知の実験 |
||
| systemtrays001.lzh | ||
| システムトレーの使い方確認の為の実験プロジェクト。 システムトレーにアイコンを登録、削除、変更、点滅、ダブルクリック、ポップアップメニューを確認。 |
||
| multithread002.lzh | ||
| マルチスレッドでのActiveX EXE 同士の相互参照の実験 | ||
| multithread001.lzh | ||
| アクティブX exe を使ってのマルチスレッドの実験プロジェクト 使い物に成るかどうかは今後の課題。 |
||
| tps20021208.lzh | ||
| パッシブモード時、使用するポート番号に範囲の設定が出来るようにした。 | ||
| tps20021201.lzh | ||
| 基本設定(サイトプロファイル)のユーザーインターフェースを追加。 | ||
| tps20021124.lzh | ||
| メンバー管理にテキストファイルでのデータベース化を行なった。 同時に、メンバー管理のユーザーインターフェースを作成した。 パスワードの自動発生ルーチンを組み込み。 |
||
| tps20021117.lzh | ||
| ディレクトリ付きのファイル操作コマンドの上手く対応していなかったのを修正。 コマンド解析で使用する変数を全てセッションテーブルで管理する様に変更。 |
||
| tps20021027.lzh | ||
| ファイルリストアップのルーチンを見直し。 ディレクトリ削除の作動不具合を見直し。 |
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
| 重 要: | ||
| 各種参考資料、ウエブ上でのサンプルコードを参考に個人の理解を深める為、作動確認をする為に作成した実験のためのコードであり、他の著作権を侵害するものではありません。 万一、コードの部分的にでも著作権を主張される方がいらっしゃれば、その方の主張を尊重いたします。 コード全体としてはTriangle Projectが著作権の主張を致します。 皆さんが個人で参考にされる場合は自由にお使い下さい。 転載される場合はご連絡をお願いします。 Triangle Projectでは実行ファイルの配布は予定しておりません。全てコードのみの配布となります。 Triangle Project Sample Code の使用は使用する人の責任・リスクの元に行なって下さい。 Triangle Project Sample Code の使用に起因する有形無形対人対物を含むあらゆる事故に対してTriangle Projectは責任を持ちません。 |
||