動作環境
Windows 7 pro 32bit
同じPC上で複数のソフト間の通信について検討中。
今のところ知っている情報より検討
File Mapping使用
- FileMappingの使用
- Sender側でNamed File Mappingを作成
- Sender側からReceiver側へSendMessage()で書出し完了通知
- Receiver側がNamed File Mappingから内容を読取る
- Receiver側からSender側へSendMessage()で読取り完了通知
- Sender側でCloseHandle()する. File Mappingが削除される
上記の処理において、Sender側からSendMessage()した後に、ある指定のタイムアウト時間(1000msec)で応答がなかった時にCloseHandle()する。
応答については上記の反対を行う。
Window Message使用
- Window Message使用
- Sender: Window Messageで1文字ずつ最大100個のコマンド相当数値を送り続ける
- Receiver: 100文字(あるいはある指定の終端数値)まで受取る
応答については上記の反対を行う。
スタートビット、ストップビットに相当する文字(に対応するlong型?)を定義しておかないと、Receiver側で通信内容の区切りが分からなくなる。