68user's page 掲示板

Prev< No. 3151〜3156> Next  [最新発言に戻る] [過去ログ一覧]
No. 3151 # 68user 2003/03/20 (木) 02:03:07
「ネットワークプログラミングの基礎知識」の「リンク集・参考書籍」
      http://x68000.startshop.co.jp/~68user/net/link-book.html
にちょろっと追加しました。

# http://x68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/net/org/link-book.html

No. 3152 # FF 2003/03/20 (木) 13:40:24
>>3150 68user
68userさんご返答ありがとうございます。

>ちょうどそのときその端末デバイスからの入力を受け付ける
>プログラム (シェルとか) が走っていた場合、キー入力が
>そのプログラムに渡るか、a.sh に渡るかは不定
最初のreadの受け取りで若干おかしな動作をする(シェルのプロ
ンプトが表示される)ようなので、cronを使わず常駐して時間に
なったら動作するようにしました。

ありがとうございました。

No. 3153 # 68user 2003/03/23 (日) 18:50:44
内容あやしげ、そして需要がほとんどないと思われる
    「DNS クライアントを作ってみよう」
を書きました。
    http://x68000.startshop.co.jp/~68user/net/resolver-1.html
    http://x68000.startshop.co.jp/~68user/net/resolver-2.html
    http://x68000.startshop.co.jp/~68user/net/resolver-3.html

3連休つぶれちゃったよ。とほほ。

No. 3154 # kaki 2003/03/24 (月) 22:05:55
お世話になります。kakiです。

現在、LAN経由でクライアントから送られてくる(55msec毎)データを、
取得し、表示するHTTPサーバーを作成しています。

サーバー側で、クライアントと接続中にLANケーブルが抜けたのを
検出するのに、受信ループ中のping()で戻り値を判断して、
抜けているかどうかを判断しようとしていますが、
この方法は正攻法なのでしょうか?

また、その方法を試そうと思ったのですが、
accept()後のrecv()で受信待ちをしてしまっている為、
ケーブル断が検出できていません。
受信待ちをしないよう、socket()後にfcntl(s,F_SETFL,O_NONBLOCK)と
しているのですがrecv()でとまっているようです。
fcntl()の使い方が間違っているのでしょうか?

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でちっちゃな矢印が出ますが、
これらの文字は誰がどこで決めたのでしょうか。
おわかりでしたらご教示ください。

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