[過去ログ] ふらっと C#,C♯,C#(初心者用) Part160 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
942: (ワッチョイ 5a4b-QkE2) 02/01(土)08:30 ID:4kSN6ZeX0(1/4) AAS
複数クライアントにデータを送信するUDPサーバーを作っているのですが動作に不明点があります。
外部リンク:ideone.com

コードでは二つのスレッドのうち片方でクライアント検知、もう片方で検知されたすべてのクライアントにデータを定期送信しています。
これで1つ目のクライアント、2つ目のクライアント、、と順にクライアントから何かしらの送信をするとそれぞれのクライアントにデータが飛んでくるようになります。
ただ、いずれかのクライアントを閉じると、サーバー側のクライアント検知のためのReceiveの待機部分で以下のようなエラーが発生するようになり待機されなくなってしまいます。
UDPは一方的にデータを投げるだけなのでクライアントを閉じたところでサーバー側には影響はないと思っていたのですがなぜこのようになるのでしょうか。
同じサーバーも複数クライアントもマシン内で動作させていることが関係するのでしょうか。
画像リンク[png]:i.imgur.com
943: (ワッチョイ 5a4b-3Xes) 02/01(土)08:40 ID:4kSN6ZeX0(2/4) AAS
同じ〜マシン内 → 〜同じマシン内 です。
一応ですが環境は.NET8.0です。
950: (ワッチョイ 5a4b-QkE2) 02/01(土)12:07 ID:4kSN6ZeX0(3/4) AAS
すみません、クライアントはこれです
外部リンク[html]:www.vector.co.jp

>>945
Sendの部分では例外は発生しないんですよね…
例外が発生するのはReceiveのほうです
952: (ワッチョイ 5a4b-QkE2) 02/01(土)14:33 ID:4kSN6ZeX0(4/4) AAS
Send時に相手が閉じているとICMPパケットが返るので相手が閉じたことがサーバー側で認識されてReceive時にエラーで返すようになってしまうので、特殊な設定でICMPパケットは無視するようにするということですね…
これで動くようになりました、ありがとうございます!
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.044s