Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Mobile Link - サーバ起動同期 » サーバ起動同期の設定 » Listener » メッセージ・ハンドラ » メッセージ・ハンドラの高度な機能

 

接続起動同期

Windows デバイスでは、接続の変更時に同期を開始できます。

IP 接続が確立されたり、失われたりすると、デバイスはメッセージ _IP_CHANGED_ を含む Push 通知を Listener に送信します。デバイスは、Mobile Link サーバへの新しい最適パスを見つけると、メッセージ _BEST_IP_CHANGED_ を含む Push 通知を Listener に送信します。メッセージ・ハンドラを使用すると、接続に関するこれらの変更を検出し、アクションを開始できます。

接続におけるすべての変更の識別

_IP_CHANGED_ メッセージは、IP 接続が変更されたことを示します。接続の変更は、デバイスが WiFi ネットワークの範囲に入ったり、ユーザが RAS 接続を開始したり、ユーザがデバイスをクレドールに置いたりした場合に発生します。_IP_CHANGED_ メッセージを参照するには、次の構文を使用して Listener を実行します。

dblsn ... -l "message=_IP_CHANGED_;action='...'"

次の例は、_IP_CHANGED_ メッセージの使用方法を示します。メッセージ・ハンドラはメッセージをフィルタリングし、サーバに送信します。接続が失われると、エラーが生成されます。

dblsn -l "message=_IP_CHANGED_;
    action='
        SOCKET port=12345;
        sendText=IP changed: $adapters|$network_names;
        recvText=beeperAck;
        timeout=5';
    continue=yes;"
Mobile Link サーバへの最適パスの変更の識別

_BEST_IP_CHANGED_ メッセージは、Mobile Link サーバへの最適パスが変更されたことを示します。このメッセージを参照するには、次の構文を使用して Listener を実行します。

dblsn ... -x MobiLink-protocol-options -l "message=_BEST_IP_CHANGED_;action='...'"

_BEST_IP_CHANGED_ メッセージの実行時に、最善の IP 接続を表すローカルの IP アドレスに置き換える $best_ip action 変数を使用すると、役立つアクションを開始できます。IP 接続が存在しない場合、$best_ip は 0.0.0.0 を返します。

次の例では、_BEST_IP_CHANGED_ メッセージを使用して、最善の IP 接続が変更されたときに同期を起動しています。接続が失われると、エラーが生成されます。

dblsn -x http(host=mlserver.company.com) 
   -v2 -m -i 3 -ot dblsn.log 
   -l "message=_BEST_IP_CHANGED_;
       action='
           START dbmlsync.exe -ra -c eng=remote;uid=DBA;pwd=sql -n test_pub'"
注意

ご使用のアプリケーションで接続起動同期をテストする場合は、Listener を Mobile Link サーバとは別のコンピュータで実行します。

参照