vb6でwinsockコントロールを使用して、Webサービスの可用性をチェックしています。 投稿要求を行い、応答を取得し、応答ヘッダを解析して応答コードを確認します。VB6 winsock応答待ち
応答は複数のパケットで到着します。
' this event occurs when data is arriving via winsock
Private Sub wsTCP_DataArrival(ByVal bytesTotal As Long)
Dim strResponse As String
wsTCP.GetData strResponse, vbString, bytesTotal
strResponse = FormatLineEndings(strResponse)
' we append this to the response box becuase data arrives
' in multiple packets
response = response & strResponse
End Sub
私の問題は、実行を続行するために応答コードをチェックするまで待つ必要があることです。
タイマーを使用せずにこれを行う方法はありますか?
おかげで、 アレックス
は、すべての後に、タイマーを使用することにしました。
ちょっとメモ... 'response = response&strResponse'は、狂ったような文字列を再割り当てするため、パフォーマンスにはあまり適していません。パフォーマンスや大きなレスポンスが予想される場合は、すべてのDataArrivalでサイズを変更する必要のない大きなバッファを割り当て、正しいオフセットでデータフレームを挿入することをお勧めします。 – tcarvin
+1良いadivice ...別の呼び出しがあるのでstrResponseを使用していますstrResponse = FormatLineEndings(strResponse) – thedev