WinSocket的状态总是7???
代码:
Option Explicit
Private WithEvents ws As MSWinsockLib.Winsock
....
Private Sub Command1_Click()
ws.Connect ip, port
Do Until ws.State = 7
If ws.State = 0 Or ws.State = 9 Then
ws.Close
MsgBox "Error: " & vbCrLf & "Connection fail ", vbOKOnly, "Connection "
Exit Do
End If
DoEvents
Loop
End Sub
Private Sub Form_Load()
Set ws = New MSWinsockLib.Winsock
ws.Close
ip = "127.0.0.1 "
port = 80
SendTest = SendTest & "GET / HTTP/1.1 " & vbCrLf
SendTest = SendTest & "Accept: */* " & vbCrLf
SendTest = SendTest & "Accept-Language: zh-cn " & vbCrLf
SendTest = SendTest & "Accept-Encoding: gzip, deflate " & vbCrLf
SendTest = SendTest & "User-Agent: Mozilla/4.0 " & vbCrLf
SendTest = SendTest & "Host: 127.0.0.1 " & vbCrLf
SendTest = SendTest & "Connection: Keep-Alive " & vbCrLf & vbCrLf
End Sub
Private Sub ws_Close()
If ws.State = 8 Then Debug.Print "Close "
End Sub
Private Sub ws_Connect()
Debug.Print "OK "
ws.SendData SendTest
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
ws.GetData data, , bytesTotal
Text1.Text = Text1.Text & data
End Sub
暂停程序的运行,在调试ws.State结果都是7
如果3w服务器完成一次通讯应该关闭连接才对,ws.State结果应该是8
返回的Html代码已经到 </body> 了
为什么还是7,ws_Close时间没有响应??
[解决办法]
你的WEB服务器设定了保持连接,所以,要客户端自己先断开。
WinSocket的状态总是7?该如何解决
WinSocket的状态总是7???代码:OptionExplicitPrivateWithEventswsAsMSWinsockLib.Winsock....PrivateSubCo
