人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ネットワークプログラムについて質問です。
詳しい環境はかけませんが
何か原因を探る手がかりなどあれば教えて下さい。

UDPにて存在しないホストにSendToしました。
ErrNo=65 ehostunreach ホストに到達不能である
というエラーが発生します。

これは正しいのですが
20msぐらいの速度で送信を繰り返すと20秒程度で
突然正常が返ります。
もちろんErrNoも設定されません。

3秒後ぐらいに再度ErrNo=65の状態に戻ります。
何か考えられる原因はありますでしょうか?

●質問者: tikirou
●カテゴリ:コンピュータ インターネット
✍キーワード:UDP エラー ネットワーク プログラム ホスト
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● tamtam3
●60ポイント

お使いの機種のマシンスペックがわかりませんが

パケットロスに起因する内容かと思われます

http://www.kt.rim.or.jp/~ksk/wskfaq-ja/intermediate.html#udpbad

データグラムの喪失は、送信側あるいは受信側のプロトコルスタック内部で発生することもあります。たいていはバッファが足りなくなった場合などです。さらに、同じマシン上で動作する二つの通信プログラムでさえも、 UDPを使っている場合はデータを喪失してしまう可能性があります。(Windows 上では、高負荷の状態において実際にこれが発生します。スタック内のバッファが一杯になるとデータグラムが落とされるからです。) これはつまり、ローカルの IPC(訳注: プロセス間通信) の機能として UDP を利用するのは限度がある、ということです。

これら、いずれの原因で喪失が発生した場合でも、送信側および受信側には何の通知もされません。喪失がプロトコルスタック内部で発生した場合であっても、です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ