vb6 - State =关闭时来自winsocket的GetData

时间:2015-08-11 13:40:45

标签: tcp vb6 winsock

我正在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。

我做错了什么?

0 个答案:

没有答案