TRL:Terminal Request Library
ターミナルリクエストライブラリ

概略仕様

構成
 TRLはサーバー版である「TrlServerLib」とクライアント版である「TrlClientLib」で構成されています。
TrlServerLibとTrlClientLibは、Windows上で動作します。
TRLについては、いかなる環境についても動作保証はしておりませんが、以下の環境で動作することを想定しています。
  • Microsoft Windows7以降 - 32bit/64bit
  • Microsoft .NET Framework 2.0以降 - 32bit/64bit(Microsoft Visual Studio 2005以降)
  • Microsoft Excel2007以降 - 32bit/64bit
  • Microsoft Access2007以降 - 32bit/64bit
※Visual Studioからは、「.NETのクラスライブラリ」を「参照」して使用します。また、そのライブラリをCOMでラッピングしたものをVBAから「参照設定」して使用します。


通信手順
 TRLはTCPソケットをラッピングし、独自の通信手順で通信を行います。

TrlServerLib側
  1. ポート番号を指定して、待ち受け開始命令を実行し、クライアントからの接続を待ちます。
  2. クライアントから接続があると、クライアント情報とリクエスト情報(クライアントでセットした文字列)がイベント通知されます。
  3. そのイベントの中でファイル送受信が必要であればクライアントへ要求します。
  4. 要求した結果が、またイベント通知されます。さらにファイル送受信をクライアントへ要求できます(必要な数だけファイル送受信が行えます)。
  5. ファイル送受信が必要なくなった時点で、レスポンス情報(クライアントに渡す文字列)をクライアントへ送信し、処理完了となります(ファイル送受信が必要なければ、最初のイベントでレスポンス情報を送信します)。
  6. 待ち受けを終了する場合は、待ち受け停止命令を実行し、終了イベントを待ちます。
※設定によって、イベントは複数のクライアントからのものが同時に発生します。この場合、排他制御などが必要になります。ただし、VBAでご利用の場合はイベントはひとつしか発生せず、順番待ちとなります。
※イベントは別のスレッドから発生しますので、イベント内からアプリケーションのメインスレッド上のコンポーネントにアクセスするには、それに対応した書き方が必要になります。ただし、VBAでは、この配慮は必要ありません。

TrlClientLib側
  1. サーバーのIPアドレス、ポート番号、リクエスト情報、クライアント情報を指定して、リクエスト命令を実行し、サーバーへ接続します。
  2. 接続すると、あとはサーバーに任されます。何が行われているか、イベントで情報が通知されます。
  3. 最後にサーバーからレスポンス情報が送信されてくると、これもイベント通知され、処理完了となります。
  4. 途中で通信を中断したい場合は、中断命令を実行し、終了イベントを待ちます。
※イベントは別のスレッドから発生しますので、イベント内からアプリケーションのメインスレッド上のコンポーネントにアクセスするには、それに対応した書き方が必要になります。ただし、VBAでは、この配慮は必要ありません。


特記事項
  • 本ライブラリは単純なLAN内でのご使用を想定しています。よってサーバーとクライアントは同一ネットワーク内にある必要があります。クライアントからは、同一ネットワーク上にあるサーバーにしか接続できません。クライアント側では自己IPアドレスとサブネットマスクを取得し、接続しようとしているサーバーのIPアドレスが同一ネットワークのものであるかどうかチェックしています。
  • 本ライブラリはセキュリティや受け渡されるデータの保全に関して考慮していません。通信の品質や信頼性はピュアなTCPソケットレベルだということをご承知おきください。
  • サーバーから送信されるファイルは、クライアント側で指定されたフォルダ内にだけ保存が可能です。またサーバーから受信されるファイルは、クライアント側で指定されたフォルダ内のものだけが受信可能です。
  • クライアントからのリクエスト情報、およびサーバーからのレスポンス情報は、最大1KBに制限されています。
  • サーバーからファイル送信、およびファイル受信されるファイルは、最大2MBに制限されています。





累積:
今日:
昨日:
Copyright (C) 2016 森山商店 All Rights Reserved.