SKK 通信プロトコル

通信内容の基本事項

クライアントからのコマンド(リクエスト)は複数種類定義されており、 いずれも下記の3パートで構成される。

パート

位置

役割

コード

先頭1バイト

依頼するコマンドの種別

ボディ

前後以外のデータ全て

要求内容の本体

終端

終端1バイト or (なし)

終端を表現するコード

  • ボディ部にはASCII以外の文字列を含む。文字コードには EUC-JP を採用する。

  • 「終端コードの有無」や「終端コードの内容」については、コマンドによって違う。

コマンド毎の仕様

注釈

<...> 表現のテキストは、それぞれ特定のASCII文字コードを指定することを示す。

テキスト表現

コード

表現

内容

<SPACE>

0x20

`` ``

半角スペース

<LF>

0x0A

\\n

Line Feed

END

コード:

0

ボディ:

(なし)

終端:

(なし) ただし、追加で <SPACE><LF> が来ても受け付ける。

クライアントからの切断要求。 接続しているクライアントからこのコマンドが送信された際は、 ただちに切断処理を実施する。

切断直前には何も送信しない。

REQUEST

コード:

1

ボディ:

見出し語

終端:

<SPACE> ただし、追加で <LF> が来ても受け付ける。

ボディとして送信された見出し語から、変換候補となる語句を検索する。 [1] 検索結果に応じた結果を返す。

レスポンス時は <LF> 終端コードに持つ。 また、検索結果に応じたコードとボディについては下記の通りとなる。

マッチ結果

コード

ボディ

あり(発見)

1

各変換候補の末尾に / を加えて連結したもの

なし(未発見)

4

見出し語の末尾に <SPACE> を加えたもの

VERSION

コード:

2

ボディ:

(なし)

終端:

(なし)

SKK辞書サーバーのバージョン情報を要求する。

レスポンス時は「バージョン情報」を表す文字列をボディとする。 また、終端コードに <SPACE> を持つ。

HOST

コード:

3

ボディ:

(なし)

終端:

(なし)

SKK辞書サーバーの接続ホスト情報を要求する。

レスポンス時は「ホスト情報」を表す文字列をボディとする。 また、終端コードに <SPACE> を持つ。

重要

この値が意味のある内容であることは保証されていない。

注記