我正在使用vb6中的winsock控件來檢查Web服務的可用性。 我做了一個post請求,獲取響應並解析響應頭以檢查響應代碼。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