前田です。

Toru Hoshina <hoshina / best.com> writes:

> なんと、skkinput って '\n' をわざわざ付けて request してるのです(笑)
> で、skkserv ってきっと、ヒットしなかったときは '4' に続けて request された
> 文字列を*そのまんま手を付けず*返す、という仕様なのでわ…?

うーむ、なるほど。

> という具合に、'\n' を付けて返しません。思うに gets(" ") で request 文字列を
> socket から読んでいるので、そこで '\n' を捨てちゃうのですね。
> 
> で、ふ〜ん、と思った私は 
> 
> 	  kana = s.gets(" ") + "\n"
> 	  if kanji = @dictionary.search(kana)
> 	    ret = "1" + kanji
> 	  else
> 	    ret = "4" + kana
> 	  end
> 	  printf("send: %s\n", ret) if $OPT_d
> 	  s.write(ret)
> 
> などとして、"\n" をムリヤリ付けてみました。でもダメでした。skkinput は
> 確かによくなるのですが、今度は jed が(大笑い)

gets(" ")した後で[0-3]が来るまで読む処理を入れれば良いように
思いますが、あまりやりたくないですねえ(^_^;

でも、skkservとrskkserv以外のサーバは" "を付けずに"\n"を付け
て返すので、動かないのはrskkservだけというのも嫌ですね。
何とかします。

-- 
前田 修吾