我正在Visual Basic 6中构建一个HTTP客户端,它使用标题发送数据到服务器:
Connection: Close
强制Web服务器在发送完所有数据后立即关闭连接。我有这个代码来接收数据:
Private Sub rqt_DataArrival(Index As Integer, ByVal bytesTotal As Long)
On Error GoTo errorHandler
Dim buff As String
If bytesTotal > 0 Then
rqt(Index).GetData buff
WSDataBuffer(Index) = WSDataBuffer(Index) & buff
End If
Exit Sub
errorHandler:
MsgBox "error in state: " & rqt(Index).State & ". Bytes left: " & bytesTotal
End Sub
问题是5次左右中有1次出现错误'40006': 请求的交易或请求的协议或连接状态错误。:
rqt(Index).GetData buff
所以我放置了错误处理程序以查看发生了什么,问题是.State = 8(关闭状态)。但是仍然有数据要接收,因为bytesTotal是195。
我做错了什么?