CL

35.Windows にメッセージを送るには? (1)

System i から Windowsにメッセージを送信したい場合があり、これは結構重要な機能となる
場合がある。
クライアント/サーバー・モデルの適用業務を運用する場合にサーバー(System i)側で障害が
発生したり、重要なメッセージを送信したい場合である。
例えばC/Sモデルの適用業務において通信障害が発生したとすると、そのことをクライアントに
伝える手段がない。なにしろ伝えようにも通信が切断されているからである。
Webアプリケーションでも同じことである。
Webアプリケーションでもブラウザをクライアント・モジュールとする広義の意味でのC/Sモデルで
あると言えるからである。
TCP/IP やHTTPプロトコルが終了したしまったのでは、クライアントにエラーがサーバー側で発生
していることを伝達する手段すらない。
開発者やシステム担当者であればサーバー側の様子を直ちに調査するであろうが、エンド・
ユーザーでは「画面がフリーズした」として決してサーバー側を調査するようなことはない。
クライアントが動作しないというクレームだけが管理者に送られてくるだけである。
また、別件であるが ある人は Web化した適用業務では 5250環境と違って、SNDBRKMSG (中断メッセージ) だけは処理不可能であると言った。
これはなるほど、Web適用業務では必ず SUBMIT しないとサーバー(System i)からの応答を
入手することができないので 5250エミュレータ画面で何も操作していないのにいきなり
「BACKUPを取りますので業務を中止してください」などの *BREAKメッセージを受け取ることができないのである。
しかし、もし不定期に サーバー側からクライアント、つまり Windows へメッセージを送ることが
できたらこの問題は解決する。
そこでこのシリーズでは Windows へのメッセージ送信の方法をいくつか解説していきたいと思う。

■ NET SEND コマンドを使ってメッセージを送信する

このシリーズで解説するのは NetBios と呼ばれる Microsoft提供のネットワークである。Windowsエクスプローラの「マイネットワーク」を開けると構内LANに接続されている他の
PCが表示されて他のPCの共有フォルダーを参照することができるのは、既にご存知で
あると思う。

これは NetBEUI という名前の Microsoft が提供しているプロトコルによる通信によって
実現されている。
この NeiBios を使う NET という名前のDOSコマンドが Windows に提供されている。
( Windows のヘルプを参照のこと)
この NET コマンドでパラメータを使って「NET SEND」を実行すると他のPCにメッセージを送信することができる。

形式は NET SEND (IPアドレスまたはPC名) メッセージ(128バイト以内) である。
例えば

NET SEND 192.168.1.11 これはテストです。

を 下記のように DOSコマンド・プロンプトから打鍵して実行する。

受け取り側のWindows では次のように、いきなりメッセージ・ダイアログが表示される。

非常に簡単な操作で。できるので是非お試し頂きたい。
賢明な読者の場合は、ここでもう次の解説を推察されたかも知れない。
NET SEND コマンドを使えば、容易にメッセージを Windows に送ることができるのである。