Código
Lo que hace es un loop en el que comprueba si el estado del winsock es conectado, si es conectado muestra el mensaje de que se ha conectado con éxito, y si el estado no es conectado mientras se hace el bucle, comprueba si no han pasado mas de cinco segundos, lo puse arbitrario, porque creo que cinco segundos es mas o menos lo que debe tardar en realizarce la sola conexión, si te sale que es imposible conectarse, y con la página que diste quizas sea un error en una librería de código de tu compu, o reglas del firewall, en fin.
Private Sub Form_Load() Dim segViejo&, segNuevo&, Segundos As Byte segViejo = Int(Timer) segNuevo = 0 Ws.Connect "www.dequito.com", 80 Segundos = 0 Do If segViejo <> segNuevo Then segNuevo = segViejo Segundos = Segundos + 1 If Segundos = 5 Then MsgBox "Imposible conectar" Exit Sub End If End If segViejo = Timer DoEvents Loop Until Ws.State = sckConnected MsgBox "Conectado con éxito" End Sub
Si te conecta lo que queres decir es que no te está retornando el código html de la página. Para ello nos debemos fijar y seguir el protocolo:
GET /recurso HTTP/1.1
Host: www.dequito.com
Connection: Close
en visual:
Código
Todo el code y eso lo hice sin probar, así que puede que hayan errores, espero que no .
Private Sub Form_Load() Dim segViejo&, segNuevo&, Segundos As Byte Dim Request$ segViejo = Int(Timer) segNuevo = 0 Ws.Connect "www.dequito.com", 80 Segundos = 0 Do If segViejo <> segNuevo Then segNuevo = segViejo Segundos = Segundos + 1 If Segundos = 5 Then MsgBox "Imposible conectar" Exit Sub End If End If segViejo = Timer DoEvents Loop Until Ws.State = sckConnected Request = "GET /recurso HTTP/1.1" & vbCrLf & _ "Host: www.dequito.com" & vbCrLf & _ "Connection: Close" & vbCrLf & vbCrLf Ws.SendData Request End Sub
Mira haber si eso te sirve, sino es así, hace mucho publique acá un minimanual de este tipo de conexiones, quizas te sirva
Acá el link: http://foro.elhacker.net/index.php/topic,186798.0.html
Saludos