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

SQL Anywhere 11.0.1 (中文) » MobiLink - 服务器启动的同步 » 设置服务器启动的同步 » 监听器 » 消息处理程序 » 高级消息处理程序功能

 

连接启动的同步

在 Windows 设备上,连接变化时可以启动同步。

获得或丢失 IP 连接时,设备向监听器发送包含消息 _IP_CHANGED_ 的推式通知。设备找到 MobiLink 服务器的新的最佳路径时,将向监听器发送包含消息 _BEST_IP_CHANGED_ 的推式通知。使用消息处理程序,可以检测这些连接变化并启动操作。

标识连接的任何更改

_IP_CHANGED_ 消息指示 IP 连接发生变化。当设备在 WiFi 网络范围内、用户进行 RAS 连接或用户将设备放在底座上时,IP 连接通常会发生变化。可以通过使用以下语法运行监听器引用 _IP_CHANGED_ 消息:

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;"
标识到 MobiLink 服务器的最佳路径的更改

_BEST_IP_CHANGED_ 消息指示 MobiLink 服务器的最佳路径发生变化。在通过使用以下语法运行监听器时可以引用此消息:

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

过滤 _BEST_IP_CHANGED_ 消息时,$best_ip 操作变量(用代表最佳 IP 连接的本地 IP 地址替代)可帮助您启动有用的操作。如果没有 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'"
注意

测试与应用程序之间的连接启动的同步时,在与 MobiLink 服务器分开的单独计算机上运行监听器。

另请参见