VB.NET質問スレ (Part10)at TECH
VB.NET質問スレ (Part10) - 暇つぶし2ch694:デフォルトの名無しさん
05/04/08 06:21:05
>>692
Readがパケットごとに実行される保証はどこにもないはずだがね。

> strText += System.Text.Encoding.ASCII.GetString(ByteRead, 0, intLength)

まあASCIIだからいいけど、shift_jisとかだとデコードに失敗する可能性があるよ。
最後の1バイトが2バイト文字の1バイト目だった場合に。
受信中はMemoryStreamに蓄えて、受信が完了してから一気にGetStringしたほうがいい。

> Do
(略)
>   If intLength < 1 Then Exit Do
>   Sock1.Close()
> Loop

このSock1.Close()はコピペミスかな?
Loopの外に出さなきゃいけないね。

> Me.Text = "受信パケット数:" & lngRevcnt & " (" & lngRevByt & " byte)"
> TextBox1.Text = strText

やっかいなのはこいつだ。
別スレッドからコントロールを操作しちゃいけない。
Invoke/BeginInvokeを使う必要がある。
URLリンク(dobon.net)
の19から26、とくに25を良く読んでマルチスレッドに関する問題を良く把握してくれ。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch