VB中的Winsock API应答式(HTTP)协议同步问题
如何实现Winsock应答式(HTTP)协议同步问题
在一个高人的CSDN博客上抄了一段 Winsock API代码
类的地址在这里 http://blog.csdn.net/lyserver/archive/2009/11/26/4880416.aspx
复制过来太长了 帖子装不下
然后我调用这个类,窗体代码如下
- VB code
Private Sub Command1_Click() Dim z As String Dim b As New Winsocket b.Disconnect Call b.Connect("www.baidu.com", 80) Call b.SendData(Text1.Text) b.SendBufferSize = 0 Call b.GetData(z) Text2.Text = zEnd Sub'Text1的内容'GET / HTTP/1.1'Accept: */*'Accept-Language: zh-cn'UA-CPU: x86'Accept-Encoding: gzip, deflate'User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'Host: www.baidu.com'Connection: Keep-Alive'
怎么获取到的数据不全呢?只有一半数据,也不知道是不是我的调用方法错了
[解决办法]
由于是非阻塞,在使用GetData函数时需要自己在循环里多次调用然后根据某一标志判断数据是否结束。