Listener ユーティリティの dblsn は、Windows CE などの Windows デバイスで Listener の設定と起動を行います。
この項は、Listener ユーティリティの詳細なリファレンスです。Listener ユーティリティの使用法については、Listener を参照してください。
Palm デバイスの詳細については、Palm デバイス用 Listener を参照してください。
dblsn [ options ] -l message-handler [ -l message-handler... ]
message-handler :
[ filter;... ]action
[ ;continue = yes ]
[ ;maydial = no ]
[ ;confirm_delivery = no ]
filter :
[ subject = string ]
[ content = string ]
[ message = string | message_start = string ]
[ sender = string ]
action :
action = command[;altaction = command ]
command :
start program [ program-arguments ]
| run program [ program-arguments ]
| post window-message to { window-class-name | window-title }
| tcpip-socket-action
| DBLSN FULL SHUTDOWN
tcpip-socket-action :
socket port=app-port
[ ;host=app-host ]
[ ;sendText=text1 ]
[ ;recvText= text2 [ ;timeout=num-sec ] ]
window-message : string | message-id
オプション 次のオプションは、Listener の設定に使用できます。これらはすべてオプションです。
| dblsn オプション | 説明 |
|---|---|
| @data | 指定された環境変数または設定ファイルからオプションを読み込みます。環境変数と設定ファイルが両方とも存在する場合は、環境変数が使用されます。Listener オプションの保存を参照してください。 |
| -a option |
Listener の DLL オプションを指定します。複数の -d オプションを指定する場合、後続の各 -a が -d オプション用になります。
複数のオプションを指定するには、たとえば DLL 用のオプションを確認するには、 |
| -d filename |
使用する Listener の DLL を指定します。デフォルトの DLL は、lsn_udp.dll です。
SMTP ゲートウェイには、指定可能な DLL がいくつかあります。DLL のリストについては、受信ライブラリを参照してください。 カスタムの Listener ライブラリを作成することもできます。Mobile Link Listener SDK を参照してください。 マルチ・チャネル受信を可能にするには、-d を繰り返して複数の DLL を指定します。-d オプションの後に、DLL に関連する -a オプションと -i オプションを指定します。次に例を示します。
|
| -e device-name | デバイス名を指定します。デフォルトでは、デバイス名は自動的にシステムから抽出されます。-e を使用しない場合、すべてのデバイスがユニークな名前であることを確認する必要があります。 |
| -f string | デバイスに関する追加の情報を指定します。デフォルトでは、この情報はオペレーティング・システムのバージョンです。このオプションを使用すると、デフォルト値が上書きされます。 |
| -g | -x を使用する場合に UDP アドレスのトラッキングを停止します。これは、デバイス・トラッキングが不要で、配信確認が必要な場合に便利です。 |
| -i seconds | SMTP 接続のポーリング間隔を秒単位で設定します。これは、Listener がメッセージをチェックする頻度です。複数の -d オプションを指定する場合、後続の各 -i 設定が -d オプション用になります。SMTP 接続の場合、デフォルト値は 30 秒です。UDP 接続の場合、Listener はすぐに接続を試みます。 |
| -m | メッセージのロギングを有効にします。デフォルトはオフです。 |
| -o filename | ファイルに出力のログを取ります。-o が使用されない場合、出力はコンソール・ウィンドウに記録されます。 |
| -os bytes | ログ・ファイルの最大サイズをバイト単位で指定します。最小サイズは 10 000 で、デフォルトは無制限です。 |
| -ot filename | ファイルに出力のログを取りますが、先にファイルをトランケートします。 |
| -p | アイドル状態になると自動的に電源を切ります。このオプションは、CE デバイスでのみ有効です。このオプションを使用すると、アイドル状態になったときにデバイスを停止できます。デフォルトでは、Listener がデバイス自体による停止を防止するので、受信が継続できます。 |
| -q | 最小化ウィンドウで実行します。 |
| -t {+|-} ml_user_alias |
通知用のリモート・データベースを登録して、デバイス・トラッキングを使用するとき、リモート・データベースを名前でアドレス指定できるようにします。
デバイス・トラッキング用の Listener オプションを参照してください。 |
| -u Listener_name |
Listener のユニークな名前を指定します。この名前は、トラッキング情報や配信確認のアップロードに使用されます。また、DeviceTracker ゲートウェイ用の通知アドレスとしても使用できます。
Listener_name は、Mobile Link ユーザ名です。他の Mobile Link ユーザ名と同様に、これはユニークでなければならず、統合データベースの ml_user Mobile Link システムに追加する必要があります。詳細については、Mobile Link ユーザの作成を参照してください。 デフォルトの Listener 名は、device-name-dblsn です。 デバイス・トラッキング用の Listener オプションを参照してください。 |
| -v [ level ] |
dblsn のログとコンソールの冗長レベルを設定します。level は、0、1、2、3 に設定できます。
|
| -w password |
Listener_name 用のパスワードを指定します。
デバイス・トラッキング用の Listener オプションを参照してください。 |
| -x {http|tcpip} [(keyword=value;...)] |
Mobile Link 同期サーバとの通信に使用するネットワーク・プロトコルとプロトコル・オプションを指定します。プロトコル・オプションのリストについては、-x オプションを参照してください。この情報は、デバイス・トラッキング情報や配信確認を統合データベースに送信するために Listener で必要です。
デバイス・トラッキング用の Listener オプションを参照してください。 |
| -y new_password |
Listener 名用の新規 Mobile Link パスワードを指定します。使用している認証システムでリモート・デバイスのパスワードを変更できる場合、このオプションによって新規パスワードを送信できます。
デバイス・トラッキング用の Listener オプションを参照してください。 |
メッセージ・ハンドラ -l オプションを使用すると、フィルタとアクションのペアであるメッセージ・ハンドラを指定できます。このフィルタは、処理するメッセージを判断します。アクションは、フィルタがメッセージと一致したときに呼び出されます。
-l のインスタンスは複数指定できます。-l の各インスタンスは、入力メッセージごとの異なるメッセージ・ハンドラを指定します。メッセージ・ハンドラは、指定した順序で処理されます。
また、メッセージ・ハンドラ用に次のオプションも指定できます。
continue=yes
最初の一致を検出した後に Listener が処理を継続するかどうかを指定します。これは、複数の -l 句を指定して、1 つのメッセージによって複数のアクションが開始されるようにするときに便利です。デフォルトは no です。
maydial=no
アクションがモデムにダイヤル接続できないように指定します。このオプションは、アクションの前にモデムを解放するかどうかを決定するための情報を Listener に提供します。このオプションが役立つのは、action または altaction が、Listener によって使用されるモデムに排他的にアクセスする必要がある場合です。デフォルトは yes です。
confirm_delivery=no
ハンドラが配信を確認しないように指定します。メッセージを送信するゲートウェイで confirm_delivery プロパティが [yes] に設定されている場合、メッセージの確認が必要になります。メッセージの確認が必要で、ハンドラがメッセージを受け入れた場合のみ、配信が確認可能です。デフォルトは yes です。
通常、このオプションを指定する必要はありません。デフォルトでは、メッセージを受け入れたハンドラが、必要に応じて配信確認を送信します。このオプションは、複数のハンドラが同一メッセージを受け入れ可能な場合に、どのハンドラが配信確認をするかを制御するために使用できます。
filter 受信メッセージとの比較を行うフィルタを指定します。フィルタが一致すると、指定したアクションが呼び出されます。
このフィルタはオプションです。フィルタを指定しない場合は、メッセージの受信時にアクションが行われます。これは、デバッグ時またはキャッチ・オール・メッセージ・ハンドラを最終メッセージ・ハンドラとする場合に便利です。
subject または content フィルタの使用の詳細については、subject および content フィルタの使用を参照してください。
message、message_start、sender フィルタの使用の詳細については、フィルタ message、message_start、sender の使用を参照してください。
action と altaction
各フィルタは、アクションに関連付けられています。また、必要に応じて altaction という代替アクションに関連付けられています。メッセージがフィルタの条件を満たしている場合に、アクションが呼び出されます。アクションの指定は必須です。altaction を指定すると、アクションが失敗した場合にのみ altaction が呼び出されます。
各 action と altaction には、1 つのコマンドを指定できます。指定可能なコマンドは、start、run、post、socket、または DBLSN FULL SHUTDOWN のいずれかです。
start
プロセスを生成します。プログラムを起動すると、Listener はメッセージの受信を再開します。
start でプログラムを起動すると、Listener はリターン・コードを待ちません。このため、プログラムを検索または起動できない場合に、action が失敗したことだけを判定できます。
次の例では、一部をメッセージから取得したコマンド・ライン・オプションをいくつか使用して dbmlsync を起動します。
"action='start dbmlsync.exe @dbmlsync.txt -n $content -wc dbmlsync_$content -e sch=INFINITE';"
run
プログラムを実行し、完了まで待機します。Listener は、処理が完了してから受信を再開します。
run でプログラムを実行すると、プログラムの検索や起動ができない場合またはゼロ以外のリターン・コードを返した場合に、Listener はプログラムの実行に失敗したと判定します。
次の例では、一部をメッセージから取得したコマンド・ライン・オプションをいくつか使用して dbmlsync を実行します。
"action='run dbmlsync.exe @dbmlsync.txt -n $content';"
post
ウィンドウ・クラスにウィンドウ・メッセージを送信します。スケジュールがオンになっているときは、dbmlsync に post が必要です。また、post は Windows のメッセージを使用するアプリケーションに通知するときにも使用されます。
ウィンドウ・メッセージは、メッセージの内容またはウィンドウ・メッセージの ID によって識別できます。
ウィンドウ・クラスは、クラス名またはウィンドウのタイトルによって識別できます。ウィンドウ・クラスを名前で識別する場合は、dbmlsync -wc オプションを使用してウィンドウ・クラス名を指定します。ウィンドウ・クラスをタイトルで識別する場合は、トップ・レベル・ウィンドウのタイトルだけを使用してウィンドウ・クラスを識別します。
ウィンドウ・メッセージまたはウィンドウ・クラス名にスペースや句読点などの英数字以外の文字が含まれる場合は、そのメッセージまたは名前を一重引用符で囲みます。一重引用符自体を文字列に含めるには、一重引用符を 2 つ続けて書きます。たとえば、post my'message to my'class というメッセージの場合は、次の構文を使用します。
... -l "action='post my''''message to my''''class':"
または
... -l "action='post ''my''''message'' to ''my''''class''':"
次の例では、dbas_synchronize と登録された Windows メッセージを、クラス名 dbmlsync_FullSync で登録された dbmlsync インスタンスに送信します。
"action='post dbas_synchronize to dmblsync_FullSync';"
詳細については、-wc オプションを参照してください。
socket
TCP/IP 接続を確立して、アプリケーションに通知します。これは、特に動的情報を実行中のアプリケーションに渡す場合に便利です。また、Java と Visual Basic はカスタム・ウィンドウ・メッセージ機能をサポートしておらず、eVB はコマンド・ライン・パラメータをサポートしていないため、Java と Visual Basic アプリケーションを統合する場合に便利です。ローカルのソケットに接続するには、ポートのみを指定します。また、リモートのソケットに接続するには、ポートとともにホストを指定します。sendText を使用すると、文字列を送信できます。必要に応じて、recvText を使用し、予期された応答であることを確認することが可能です。recvText を使用するときは、タイムアウトを指定できます。こうすると、アプリケーションまたはネットワークの問題が発生している場合でもハングすることがなくなります。
action に socket を実行すると、タイムアウトになる前に接続、送信、または予期される確認の受信に失敗した場合に、Listener は action が失敗したと判定します。
次の例では、ポート 12345 で受信しているローカル・アプリケーションに、$sender=$message で文字列を転送します。この場合、確認としてアプリケーションが 5 秒以内に "beeperAck" を送信することが予期されます。
-l "action='socket port=12345; sendText=$sender=$message; recvText=beeperAck; timeout=5'"
DBLSN FULL SHUTDOWN
Listener ユーティリティを停止します。停止すると、Listener は受信メッセージの処理を停止し、デバイス・トラッキング情報の同期を停止します。サーバからの同期を続行するには、リモート・ユーザは Listener を再度起動する必要があります。この機能は、テスト中に特に便利です。
たとえば、action='DBLSN FULL SHUTDOWN' と指定します。
-l の各インスタンスでは、action と altaction はそれぞれ 1 つしか指定できません。1 つの action で複数のタスクを実行する場合、複数の action を含むカバー・プログラムまたはバッチ・ファイルを作成し、それを単一の action として実行できます。
次に、altaction の例を示します。この例では、$content が Mobile Link への接続用プロトコル・オプションです。プライマリの action は、Windows メッセージ dbas_synchronize を dbmlsync_FullSync ウィンドウに送信することです。この例では、プライマリの action が失敗した場合に、altaction を使用してウィンドウ・クラス名 dbmlsync_FullSync で dbmlsync を起動します (実行するのではありません)。これは、dbmlsync のスケジュールと Listener を連動させるための標準的な方法です。
-l "subject=sync;
action='post dbas_synchronize to dbmlsync_FullSync';
altaction='start dbmlsync.exe
@dbmlsync.txt
-wc dbmlsync_FullSync
-e adr=$content;sch=INFINITE'"SQL Anywhere Studio 9.0.2
Copyright © 1989–2005 Sybase, Inc. Portions copyright © 2001–2005 iAnywhere Solutions, Inc. All rights reserved.