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

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

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

ソケット通信について

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

■83195 / inTopicNo.1)  ソケット通信について
  
□投稿者/ gggd (1回)-(2017/03/11(Sat) 14:11:29)

分類:[.NET 全般] 

UDPでソケット通信でサーバーと通信をするプログラムを作成しています。 サーバ側からリアルタイムにデータを受信したいのですが少し前にサーバから送ったデータを受信しているので困っています。
勉強不足ですみません VB側ではタイマーを使ってサーバーとの送受信をしています。 受信側のIf udpClientA.Available > 0 Then は受信データがあるかどうかを見ているのだと思うのですが、
今まで受信されたデータを捨て新しいデータを受信するにはどうするのが良いのでしょうか? 調べましたがソケット通信の資料自体あまり出てこなかったもので・・・
よろしくお願いします。

If udpClientA.Available > 0 Then
Dim ip As System.Net.IPEndPoint = New System.Net.IPEndPoint(System.Net.IPAddress.Any, 0)
Dim data As Byte() = udpClientA.Receive(ip)

Temply = System.Text.Encoding.GetEncoding(932).GetString(data)
引用返信 編集キー/
■83196 / inTopicNo.2)  Re[1]: ソケット通信について
□投稿者/ 774RR (486回)-(2017/03/11(Sat) 15:29:47)
UDP ってそんなもの(ハンドシェイクが必要なら自分でやらなきゃならない)なんだけど・・・

タイマーで受信するってのがどういう実装なのかよくわからないけど、
タイマーハンドラの中で Receive しているのであれば、それはおかしい。
UDP にせよ TCP にせよ、受信側にいつ通信が届くかは予期できないので
「届いたら受信」とすべき。


引用返信 編集キー/
■83197 / inTopicNo.3)  Re[1]: ソケット通信について
□投稿者/ Azulean (791回)-(2017/03/11(Sat) 16:59:30)
No83091 の続きですかね?
あのときの例示コードと変わっていないようですが、進展はあったのでしょうか。
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ