C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

UDP通信について


(過去ログ 3 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■3016 / inTopicNo.1)  UDP通信について
  
□投稿者/ Ken 二等兵(1回)-(2006/04/04(Tue) 16:12:21)

分類:[VB.NET] 


分類:[VB.NET] 

UDP通信のソフトを作成しているのですが、受信データがない場合Receiveメソッドで
ブロックされてしまいます。これを回避するためにUDPを非同期通信で行えばそのような
ことがないのかと思いいろいろ検索しているのですが、TCP/IPの非同期通信サンプルは
あるのですが、UDPに関しては見つけることができません。どなたか方法を知っている
方がみえたら教えて下さい。

VB.NET 2005 WIN2000

0
引用返信 編集キー/
■3018 / inTopicNo.2)  Re[1]: UDP通信について
□投稿者/ Hongliang 二等兵(8回)-(2006/04/04(Tue) 18:11:00)
Hongliang さんの Web サイト

分類:[VB.NET] 

// どうやって UDP を実現してるか知りませんが、System.Net.Socket.UdpClient を使ってるという前提で。

.NET2.0/VB2005 であれば、UdpClient クラスに BeginReceive メソッドが追加されており、比較的簡単に非同期での受信が可能です。
使い方は、まだこのクラスのは情報があまり無いでしょうが、例えば WebRequest.BeginGetResponse なんかはほぼ同じ構成ですので、参考になるでしょう。

0
引用返信 編集キー/
■3024 / inTopicNo.3)  Re[2]: UDP通信について
□投稿者/ YAS 一等兵(35回)-(2006/04/05(Wed) 00:54:24)
YAS さんの Web サイト

分類:[VB.NET] 

Kenさん,こんばんは。

>受信データがない場合Receiveメソッドで
>ブロックされてしまいます。

別スレッドでReceiveメソッドを使っても目的は達せられませんか?
スレッドを終了するにはUDPClient.Closeでむりやり閉じれば例外が発生し,
ブロック状態を脱することが出来ます。


0
引用返信 編集キー/
■3026 / inTopicNo.4)  Re[3]: UDP通信について
□投稿者/ Ken 二等兵(2回)-(2006/04/05(Wed) 10:48:51)

分類:[VB.NET] 

Hongliang さん、YAS さんありがとうございます。

UdpClientクラスにBeginReceive メソッドが追加されていることは知りませんでした。
確認をしてみます。

> 別スレッドでReceiveメソッドを使っても目的は達せられませんか?
> スレッドを終了するにはUDPClient.Closeでむりやり閉じれば例外が発生し,
> ブロック状態を脱することが出来ます。
別スレッドというのは思いつきませんでした。こちらの方法もやってみたいと思います。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -