最近C#でプログラムを作成している中でしばしば気がかりな事があります.
ネットワーク通信をC#で取り扱う際に,非同期でデータを受信するメソッドが多々ありますが,受信したデータを処理する最中に次のデータを受信した場合はどのようになるのでしょうか.なるべくロストをしない場合にはどのようにすべきなのでしょうか.
例として,UDPでの通信を考えたとき,ReceiveAsyncで受信をした際に,データの受信自体は非同期で行われると思います.しかし,連続でデータを受信・処理する事を考えると,データの受信頻度が上がってくると処理はサブスレッドの回してなるべくReceiveAsyncのメソッドに戻るまでを早くすべきかと思うのですが,サブスレッドの生成自体にもコストが掛かるかと思います.
TCPであれば,受信確認があるため問題は無いかと思いますが,UDPやWebSocketでは一般的にどのように取り扱われているのでしょうか?
回答3件
あなたの回答
tips
プレビュー