68user's page 掲示板

Prev< No. 3155〜3159> Next  [最新発言に戻る] [過去ログ一覧]
No. 3155 # 68user 2003/03/24 (月) 23:23:30
>>3154 kaki
> この方法は正攻法なのでしょうか?
正攻法とは何かという話になってしまいますが、TCP/IP の設計思想的には
誤りです。ケーブルが抜けようがルータが落ちようが、その部分が復旧したら
元通りに通信できるべきである、という考えだからです。

と言っても、タイムアウトを実装したいというケースもあるでしょうが、
わたしなら select したり non-blocking socket 使うと思います。ケーブル
断だけでなく、クライアント側のバグなどで いつまでたっても反応がない
場合なども対応できるからです。

サーバ側のケーブル断であれば
>>1301 rosegarden
という話もあったりしますが、通信できない原因はたくさん考えられるのに、
なぜサーバ側のケーブル断だけ特別扱いするのか、という話になるのではないかと。

> 受信待ちをしないよう、socket()後にfcntl(s,F_SETFL,O_NONBLOCK)と
> しているのですがrecv()でとまっているようです。
> fcntl()の使い方が間違っているのでしょうか?
non-blocking socket を使ったことがないのでわかりませんが、あってる
ような気がします。

多分これは関係ないでしょうけど、とりあえず
      int val = fcntl(s, F_GETFL, 0);
      fcntl(s, F_SETFL, val | O_NONBLOCK);
の方がいいでしょうね。

No. 3156 # ふくし 2003/03/26 (水) 10:11:45
質問です。Windows のDOS窓で
0x01〜0x06、0x10、0x15〜0x17 で水道管みたいな罫線が出たり、
0x12、0x1b〜0x1fでちっちゃな矢印が出ますが、
これらの文字は誰がどこで決めたのでしょうか。
おわかりでしたらご教示ください。

No. 3157 # 68user 2003/03/26 (水) 12:15:26
>>3156 ふくし
調べましたが、わかりませんでした。
      http://czyborra.com/charsets/codepages.html
を見るに、
> 0x12、0x1b〜0x1fでちっちゃな矢印
は CP437 あたりだと思いますが、なぜ 0x01 で 0xC9 な
水道管が出るのかはわかりません。

      http://www2d.biglobe.ne.jp/~msyk/cgi-bin/charcode/
で質問してみてはどうでしょうか。

No. 3158 # ふくし 2003/03/26 (水) 16:49:02
>>3157 68user
さん、ありがとうございます!
聞いてみます。
ちなみにDOS窓でjpとやると出てくる字から想像するに、
CP932ですよね。
usとやると437に切り替わりますが、そうすると出てくる字は
下で出てきたCP437そのままのようです。

No. 3159 # 68user 2003/03/26 (水) 19:59:17
たまに referer 見てみると、知らないところで突っ込まれて
たりするのでおもしろい。

http://dns.qmail.jp/lies.html
> コンテンツサーバとキャッシュサーバの違いを理解していな可能性が高いから。

うっ。勉強しよう。

Prev< No. 3155〜3159> Next  [最新発言に戻る] [過去ログ一覧]