tach 通信仕様
ポート番号
通信はUDP/IPで行われます。使用するポートは次の通りです。
番号目的内容
3000+10×端末番号送信用
3000+10×端末番号+1内部コマンド受信用後述
3000+10×端末番号+2表示欄受信用入力欄で[Enter]が押された時点で入力欄の全文字列をそのまま送信
3000+10×端末番号+3モニタ欄受信用入力欄でキーが押されるたびに入力欄の全文字列をそのまま送信
3000+10×端末番号+4連絡欄受信用連絡入力欄で[Enter]が押された時点で連絡入力欄の全文字列をそのまま送信
端末番号とは同一マシン内での端末識別用に起動順に付けられる0から9までの数です。
内部コマンド
書式送信目的tachでの受信処理tachDでの受信処理
hello グループ名 マジックナンバー接続端末探索マジックナンバーが自端末のものでなければ送信元端末にandyouオプション付きでthisisコマンド送信
thisis 端末名 端末タイプ マジックナンバー [andyou]端末名通知マジックナンバーが自端末のものでなければ端末リスト更新,andyouオプションがあれば送信元端末にandyouオプションなしでthisisコマンド送信
bye切断通知端末リストから送信元端末を削除
undo表示欄への送信取り消し送信元端末のからの最後の表示欄への受信行を取り消す
setgraphic 背景色 背景モード 背景画像 1行文字数 スクロール速度 スクロール加速度 行間 フォント名 文字色 縁取り幅 縁取色 改行方式表示欄設定取得・変更送信元端末の表示欄の設定を表示するために記憶表示欄の設定を受信内容に従って更新
getgraphic送信先端末の表示欄設定を取得なにもしない表示欄設定を送信元端末にsetgraphicコマンドで通知
changeorder 移動方向送信先端末のモニタ欄での自端末の表示順序を1行移動するモニタ欄での送信元端末の表示順序を1行移動するなにもしない
マジックナンバーとは自端末から自端末へ送信されたコマンドを識別するための文字列です。tachでは端末名+端末番号(同一マシン内での端末識別用に起動順に付けられる00から始まる2桁)+起動時刻(hhmmss)を設定しています。例えばyuusui00113548となります。ただしこれは自端末内でわかればよいだけなのでこれに限る必要はありません。
tach起動時の通信
入力欄でタイプすると端末リストに表示されているすべての端末に送信されますが、 新たに端末が起動した場合はこれを端末リストに追加する必要があります。 この時に内部コマンド受信用ポートに送信される内容は以下の通りです。
新たに起動した端末すでに起動済みの端末
端末探索範囲で設定されたブロードキャストアドレスに hello コマンドを送信
helloコマンドを受信。送信元端末を端末リストに追加。送信元端末に対して thisis コマンドを andyou オプション付きで送信。
thisis コマンドを受信。送信元端末を端末リストに追加。送信元端末に対して thisis コマンドを andyou オプションなしで送信