- PR -

ソケット通信にてUdpClientで受信待ちから抜ける方法は?

1
投稿者投稿内容
ももん
会議室デビュー日: 2004/03/18
投稿数: 1
投稿日時: 2004-03-18 11:39
VB.NETにてUDPでのソケット通信を行う必要があり、以下のようなプログラムになっています。
これではUdpClient.Receiveで受信があるまで待ちつづけることになります。

これを回避する方法をご存知でしたら教えていただけませんでしょうか?
割り込み処理的に受信があった時のみReceiveするとか、
100msec受信を待って、こなかったらやめて抜けるなどしたいのですが、
VB.NETのUDP通信では難しいでしょうか?よろしくお願いします。

Dim ipAddress As System.Net.IPAddress = ipAddress.Parse("10.100.10.200")
Dim localEndPoint As New System.Net.IPEndPoint(ipAddress, 11000)
Dim udpClient As New System.Net.Sockets.UdpClient(11000)

Private Sub Button_Receive_Click(ByVal sender As System.Object,
           ByVal e As System.EventArgs) Handles Button_Receive.Click
Dim bytes(1024) As Byte
bytes = udpClient.Receive(localEndPoint)
End Sub

きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-03-18 12:56
ももんさん、こんにちは。

引用:

これではUdpClient.Receiveで受信があるまで待ちつづけることになります。


System.Net.Sockets.Socket クラスを使えば非同期での通信ができます。
1

スキルアップ/キャリアアップ(JOB@IT)