vb6下winsock为什么触发不了winsock1_connect()事件?在执行senddata的时候还会提示 "所需事物错误或请求的错误协议或连接状态" 是不是connect方法失败了?为什么呢?
附测试代码如下:谢谢
Private Sub Form_Load()
Winsock1.RemoteHost = "http://www.hotplay.net"
Winsock1.RemotePort = 80
Winsock1.LocalPort = 81
Winsock1.Connect
'MsgBox ("connecting")
'MsgBox (Winsock1.RemoteHostIP)
//如果我把senddata方法放在这里的话就会提示上面所说的错误!End SubPrivate Sub Winsock1_Connect()//这个函数触发不了
MsgBox (Winsock1.RemoteHostIP & " connecting sussful")Dim str
str = "GET index.asp HTTP/1.0" + vbCrLf
str = str + "Accept:*/*" + vbCrLf
str = str + "Accept:text/html" + vbCrLf
str = str + vbCrLf
Winsock1.SendData strEnd Sub

解决方案 »

  1.   

    Private Sub Form_Load()
    Winsock1.RemoteHost = "http://www.hotplay.net"
    Winsock1.RemotePort = 80
    Winsock1.LocalPort = 0
    Winsock1.Connect
    'MsgBox ("connecting")
    'MsgBox (Winsock1.RemoteHostIP)
    //如果我把senddata方法放在这里的话就会提示上面所说的错误!End SubPrivate Sub Winsock1_Connect()//这个函数触发不了
    MsgBox (Winsock1.RemoteHostIP & " connecting sussful")Dim str
    str = "GET index.asp HTTP/1.0" + vbCrLf
    str = str + "Accept:*/*" + vbCrLf
    str = str + "Accept:text/html" + vbCrLf
    str = str + vbCrLf
    Winsock1.SendData strEnd Sub
      

  2.   

    Private Sub Form_Load()
    Winsock1.RemoteHost = "http://www.hotplay.net"
    Winsock1.RemotePort = 80
    Winsock1.LocalPort = 81
    Winsock1.Connect
    'MsgBox ("connecting")
    'MsgBox (Winsock1.RemoteHostIP)
    //如果我把senddata方法放在这里的话就会提示上面所说的错误!
    t = timer
    do until winsock1.state = 7
       doevents
       if timer - t >= 3
          msgbox "连接超时"
          exit sub
       end if
    loopwinsock1.SendData "xxxxx...."End Sub
      

  3.   

    呵呵  谢谢两位 代码没有问题 换台机就正常了,是我自己机上面系统的 winsock.dll是一个给人重新编译过的版本来的所以 正常使用的 winsock 是无效的 ,现在只能够直接用API socket 谢谢