VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2007/03/07(Wed) 15:23
投稿者戸豚
Eメール
URL
タイトルWinsockコントロールを使っていて固まる

Windows XP/Pro、VB 6.0 SP5でWinsockコントロールを使ったTCP通信するツールを作っています。
Winsockコントロールで独自プロトコル(というほどたいそうなものではないのですが)でマイコンボードとPCの間の通信を行ってます。

マイコンボードから60バイト〜70バイト程度のデータを送信すると、PC側で頭のほうの14〜16バイトを受信したところでフリーズします。
タスクマネージャーを見るとCPU使用率が100%になってます。
そのプロセスを強制終了するまでCPU使用率は100%で、画面の更新も行われません。
受信するコードは次のとおりで、変なことはしてないつもりです。

Private Sub winsckPort1_DataArrival(ByVal bytesTotal As Long)
    ' 受信イベント.
    Static recvData() As Byte
    winsckPort1.GetData recvData, vbArray + vbByte, bytesTotal
    Call addTcpRecivieData(recvData)
End Sub

addTcpRecivieDataプロシージャの中ではバイト配列を "00 01 02"のような16進数表現でString型にいれて、ログファイルに書いてます。
同じPCで出たり出なかったり、ほかのPCでも出たりでなかったりと動作が不安定で困ってます。

固まらないようにするには、どんな点に注意すれば良いでしょうか?


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -