ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

teratermマクロで、複数台の一部の端末に同時にメッセージを送りたいとき

2018-12-10 08:44:35 | ネットワーク
teratermを使ってテストなどを行うとき
1番目の端末(というかウィンドウ)は、サーバー役
2、3番目の端末(というかウィンドウ)は、クライアント役
にして、同時にデバッグするときがある。

この場合、全部の端末に、同じメッセージを送りたいなら、
ブロードキャストコマンドを使えばいい。
これは、
ウィンドウからなら コントロール > ブロードキャストコマンド から
マクロなら sendbroadcast
で、できる。

でも、全部同じメッセージではなくて、クライアント役に送るメッセージは、サーバー役には送りたくない場合、どうするか?




答え:
setmulticastnameで、サーバー役とクライアント役に別々の名前を付けて、
sendmulticastで送ればいい

詳しくは
sendmulticast
http://ttssh2.osdn.jp/manual/ja/macro/command/sendmulticast.html


で、サンプルは、こんなかんじ。
;=====================================================================
; 接続情報
HOSTADDR = '127.0.0.1'
USERNAME = 'username'
PASSWORD = 'password'
;=====================================================================

; コマンドオプション組立て
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

;------------------端末作成--------------------------
; 1端末目 接続
connect COMMAND
setmulticastname 'myhost'
unlink

; 2端末目 接続
connect COMMAND
setmulticastname 'myclient'
unlink

; 3端末目 接続
connect COMMAND
setmulticastname 'myclient'
unlink

;------------------メッセージ送信-----------------------
; 4端末目 コマンドを送るための端末
; ※こいつはunlinkしないこと
connect COMMAND

; ホストにメッセージを送る
pause 1
sendlnmulticast 'myhost' 'ls'

; クライアントに一斉メッセージを送る
pause 1
sendlnmulticast 'myclient' 'ps'

end

【一部引用】以下のサイトより
自分がよく使うTeratermマクロによる自動ログインのやり方をまとめてみたよ
https://qiita.com/clustfe/items/e873f2216724fd7b96fc


上記サンプルは、サーバーにls、1秒後クライアントにpsしてるけど、
実際にはそうではなく、gdb起動してどうのこうのとか、curlたたいてどうのこうのになると思う。


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ジオシティーズが終了するっ... | トップ | サイボウズliveが4月15日... »
最新の画像もっと見る

ネットワーク」カテゴリの最新記事