VB.NETでの利用インストール方法PC上にダウンロードした「TrlServerLib.dll」を「参照」してください。ローカルにコピーした場合は、「TrlServerLib.dll」と同じフォルダ(DebugまたはRelease)に「TrlSupport.dll」と「TrlSupport64.dll」を置いて下さい。※開発したPC以外に、アプリケーションと共に配布する場合は、「TrlServerLib.dll」と「TrlSupport.dll」と「TrlSupport64.dll」をアプリケーション(.exeファイル)と同じフォルダに配置してください。アンインストール方法PC上にダウンロードしたファイルをフォルダごと削除してください。使用方法クラスの宣言Formクラス内で、TrlServerLib.Serverクラスを宣言してください。Classインスタンスの作成と破棄FormのLoadイベントなどでServerクラスのインスタンスを作成します。SubFormのFormClosedイベントなどでServerクラスのインスタンスを破棄します。Sub通信待ち受けの開始と終了ButtonのClickイベントなどに、待ち受け開始と終了のロジックを追加します。下記の例ではButtonのTextを"通信開始"としておきます。TrlStartで待ち受けスレッドを開始した場合、プログラム終了前に必ずTrlStopを実行する必要があります。SubTrlStartメソッドクライアントからの通信待ち受けを開始します。内容pintThreadModeTrlServerLib.Server.TRL_THREAD_MODE型mMulti複数の端末からのイベントが同時に発生する可能性があります。mSingle一度に発生するイベントは一つだけです。イベントは順番待ちとなります。通信を待ち受ける為のTCPソケット番号(65000~65500を推奨)。他のアプリケーションと重ならない値を渡してください。pstrErrorMessageString型メソッドが失敗した場合に、エラーメッセージが返されます。空文字列("")を指定してください。戻り値Boolean型True待ち受け成功です。False待ち受け失敗です。エラーメッセージが、pstrErrorMessageに格納されています。TrlStopメソッドクライアントからの通信待ち受けを終了します。TrlStop()イベントプロシージャの定義コードの表示画面の上段にあるドロップダウンリストの「クラス名」で「objTrlServer」を選択します。続いて、ドロップダウンリストの「メソッド名」で「TrlServerEvent」を選択するとイベントプロシージャがコード内に現れます。以下の例では、通信状況を表示するためListBoxをひとつフォーム上に配置しています。クライアントから以下の3種類のリクエストを処理する例を記載しています。商品名問い合わせクライアントからのリクエスト情報(pstrData)には、"0001"(処理区分)に続いて商品コードがセットされていると想定。商品コードでデータベースを検索し、商品名をレスポンス情報として返す。商品画像問い合わせリクエスト情報には、"0002"(処理区分)に続いて商品コードがセットされていると想定。商品コードでデータベースを検索し、商品画像ファイルのパスを取得し、クライアントへ画像ファイルを送信。正常応答のレスポンス情報を返す。日報報告リクエスト情報には、"0003"(処理区分)に続いて日報ファイル名がセットされていると想定。日報ファイル名を使用して、クライアントから日報ファイルを受信。正常応答のレスポンス情報を返す。TrlServerEventはメインスレッドとは別のスレッドから呼ばれるのでInvokeによるアクセスが必要となります。Invokeに関してはインターネット上に詳しい情報がありますので、説明は省略します。このロジックはTRLと直接関係ないため省略します。このロジックはTRLと直接関係ないため省略します。FunctionTrlServerEventイベントクライアントからリクエストがあると発生します。コマンドの実行結果や、待ち受けスレッドからの情報が報告されます。内容pobjHandleObject型この値はクライアント接続情報のクラスインスタンスです。コマンドを実行する際にそのまま渡してください。pintStatusTrlServerLib.Server.TRL_STATUS型mListenerInfo待ち受けスレッドからの状況報告です。pstrDataに報告内容が格納されています。mListenerError待ち受けスレッドからのエラー報告です。pstrErrorMessageにエラー内容が格納されています。待ち受けスレッドは停止します。mListenerStop待ち受けスレッドからの終了報告です。pstrDataに終了した旨が格納されています。待ち受けスレッドは停止します。TrlStopが呼ばれると発生します。mClientAcceptクライアントからのリクエストを受けたときに発生します。mClientSuccessクライアントへのコマンドが成功したときに発生します。TrlResponseの成功時である場合、クライアントは切断されます。mClientErrorクライアントへのコマンドが失敗したときに発生します。クライアントは切断されます。pintCommandSerialNumberInteger型コマンド実行時にセットするコマンドシリアル番号です。pintStatusがmClientSuccessやmClientErrorの場合に、そのままこの値がセットされてきます。どのステップのどのコマンドの結果を受け取ったのかの判断に使用できます。コマンド結果以外の場合は0がセットされてきます。pstrIpString型クライアントのIPアドレスです。どの端末からのリクエストかを判断できます。この値は、クライアントの切断まで、同じ値がセットされてきます。pstrClientKeyString型クライアントからリクエスト時にセットされたクライアント情報です。コンピュータ名や端末番号などがセットされることを想定しています。これにより、どの端末からのリクエストかを判断できます。この値は、クライアントの切断まで、同じ値がセットされてきます。pstrDataString型クライアントからリクエスト時にセットされたリクエスト情報です。この値はクライアントから任意の文字列をセットできるので、処理を判別したり情報を受け渡したりすることができます。この値は、クライアントの切断まで、同じ値がセットされてきます。pstrErrorMessageString型クライアントへのコマンドが失敗した場合などに、エラーメッセージが返されます。TrlSendFileメソッド(コマンド)クライアントへファイルを送信します。※ファイルは2MBまでの大きさのものしか送信できません。内容pobjHandleObject型TrlServerEventイベントで受け取ったものをそのまま渡してください。pintCommandSerialNumberInteger型コマンドシリアル番号です。任意の値を設定してください。このコマンドを実行した結果通知をTrlServerEventで受け取る際、そのままこの値がセットされてきます。送信するファイルのパスを指定します。pstrRemoteFileNameString型クライアント側で保存する時のファイル名です。空文字列("")を指定してください。TrlRecvFileメソッド(コマンド)クライアントからファイルを受信します。※ファイルは2MBまでの大きさのものしか受信できません。内容pobjHandleObject型TrlServerEventイベントで受け取ったものをそのまま渡してください。pintCommandSerialNumberInteger型コマンドシリアル番号です。任意の値を設定してください。このコマンドを実行した結果通知をTrlServerEventで受け取る際、そのままこの値がセットされてきます。受信したファイルを保存する時のパスを指定します。pstrRemoteFileNameString型クライアント側の受信するファイル名です。TrlResponseメソッド(コマンド)クライアントへレスポンスを送信します。内容pobjHandleObject型TrlServerEventイベントで受け取ったものをそのまま渡してください。pintCommandSerialNumberInteger型コマンドシリアル番号です。任意の値を設定してください。このコマンドを実行した結果通知をTrlServerEventで受け取る際、そのままこの値がセットされてきます。pstrResponseString型レスポンスとして送信する任意の文字列を指定してください。※送信できるレスポンスは1KBまでです。この引数はShift-JISにエンコードしてバイナリデータとして送信され、クライアント側で適切なエンコードに戻されます。よって、送信できる文字数は、すべてが半角文字であれば1024文字、すべてが全角文字であれば512文字ということになります。バイナリ情報などを送信したい場合は一旦ファイルに出力してから、TrlSendFileメソッドで送信してください。ダウンロードファイル内容20170207_TrlServerLib_Windows.zipバージョン1.0.0.0を配布します。バージョン0.0.0.0から起動時ダイアログ表示を廃止したものです。動作ご確認の上、ご利用ください。20160415_TrlServerLib_Windows.zipベータ版(バージョン0.0.0.0)を配布します。動作ご確認の上、ご利用ください。