投稿日 | : 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でも出たりでなかったりと動作が不安定で困ってます。
固まらないようにするには、どんな点に注意すれば良いでしょうか?