.NET特集
 N1.Web関連
 Q1.VS2005自作Visualizer
 R1.OpenCV

VB6特集
 S1.Net関連(95/98)
 S2.Net関連(NT)
 S3.コモンダイアログの拡張
 S4.MailSlot関連
 S5.RAS関連
 S6.セキュリティ関連
 S7.FAX制御(Win2000)
 S8.ADSIの利用
 T1.グラデーションバー
 T2.アイコンメニュー
 T3.バーコード(NW7)
 MailSlot関連
MailSlot(メイルスロット)とは、ネットワーク通信を行う手段の一つで、Windows95/98 では、ポップアップメッセージ、 WindowsNT では、メッセージサービスとして提供されています。 これらWindows 標準のアプリケーションでは、メイルスロット名が決まっていますが、 任意のメイルスロット名にして、通信を行う事ができます。 MailSlotの特徴としては、ファイルシステムとしてアクセスする為、容易に使用できる点です。 また、コネクションレス型の為、データ送信を行うだけで、クライアントにデータが届きます。 その反面、信頼性は保証されず、データ送信サイズも最大で 400バイトと制限されています。 私自身、サンプルを作成して使用した感想としては、簡単なネットワーク通信のアプリケーション (チャットなど)を作成するのであれば、十分使える通信手段の一つと感じました。 この特集では、Windows95/98 標準のポップアップメッセージを併用しながら、 メイルスロットの動作を理解し、応用として任意のメイルスロット名を使用した通信方法を説明していきます。 サンプルを動作させるには、OS、環境によって多少違いますので、サンプルに添付している、 「テスト方法.txt」を参考にして下さい。
 1.Windows標準メッセージサービス─送信偏
まずは、Windows標準メッセージサービスを利用して、メッセージの送信方法を理解します。 Windows では、標準メッセージサービスの送受信には、messngrというメイルスロット名を使用しています。 以下の使用している API関数をみても分かるように、ファイルシステムを制御するAPI関数しか使用していません。 一応、汎用モジュール(mWinSlotC.bas)にしていますので、使用するのは簡単だと思います。
CreateFile,WriteFile,CloseHandle,GetUserName

サンプルダウンロード
 2.Windows標準メッセージサービス─受信偏
1では、Windows 標準メッセージサービスにメッセージを送信する方法を紹介しましたが、 2では、送信されてきたメッセージを受信(取得)する方法を紹介します。 受信と言うと難しく思えますが、メッセージが送られてきたかを監視するだけなんです。^^; 一応、汎用モジュール(mWinSlotS.bas)にしていますので、使用するのは簡単だと思います。
CreateMailslot,GetMailslotInfo,ReadFile,CloseHandle
2のサンプルでは、タイマーイベント(50ms)を利用して送信されてきたメッセージを監視していますが、 基本的には、監視用に別スレッドを作成して、そのスレッド内で監視する方法が良いようです。 しかしながら、VB でスレッドを利用した場合、安定性が確保できないようですので、 タイマーイベントを利用しています。スレッドを利用しても動作しましたが、 安定性の面からタイマーイベントを使用する事を推奨します。(個人の意見)

サンプルダウンロード

Copyright © 2005 tadahiro higuchi. All Rights Reserved.