elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Pregunta sobre winsock.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Pregunta sobre winsock.  (Leído 3,476 veces)
Manibal_man


Desconectado Desconectado

Mensajes: 528



Ver Perfil
Pregunta sobre winsock.
« en: 13 Junio 2005, 21:18 pm »

Buenas... antes que nada quiero aclarar que VB no es mi lenguaje... de hecho nunca lo use mas que para algun que otro tutorial pero no viene al caso...

La pregunta en si es esta.. necesito saber si un determinado puerto en determinado ip esta abierto, en el caso que lo este que aparezca ON y sino OFF

Entonces x lo que estuve viendo creo una conexión con winsock1.connect  (al ip y al puerto que quiero comprobar)

y estaba intentando crear una condicion con el resultado de winsock1.getdata datos, pero me tira un error 40006. me podrian decir que estoy haciendo mal? o bien, cual seria el camino mas correcto para esto que necesito.

Muchas gracias x adelantado
(perdonen lo escueto del post, pero estoy laburando y no la puedo colgar mucho)

Saludos


En línea

:: I was born ready motha fucka ::
p0w3r f1y

Desconectado Desconectado

Mensajes: 33


Ver Perfil
Re: Pregunta sobre winsock.
« Respuesta #1 en: 13 Junio 2005, 22:14 pm »

Pues no lo sé, la verdad, como no pongas el código no puedo ayudarte, pero te diré que en principio no deberías recibir ningún error, ya que, si el puerto está abierto, el winsock conectaría, y no habría ningún problema, y si el puerto no está abierto, simplemente no conectaría, pero no debería dar ningún error.... (al menos mi experiencia me dice eso... :))
Salu2


En línea

byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: Pregunta sobre winsock.
« Respuesta #2 en: 13 Junio 2005, 22:47 pm »

 mira la descripcion de el error (los numeros se asocian al error).
En línea

sch3m4
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.608

Nihil est in intelectu quod prius not fuerit insen


Ver Perfil WWW
Re: Pregunta sobre winsock.
« Respuesta #3 en: 13 Junio 2005, 23:06 pm »

para saber si está abierto no necesitas recibir datos, solo conectar, por lo que el evento no sería Winsock1_DataArrival, sino Winsock1_Connect
En línea

SafetyBits

"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.(..
Manibal_man


Desconectado Desconectado

Mensajes: 528



Ver Perfil
Re: Pregunta sobre winsock.
« Respuesta #4 en: 13 Junio 2005, 23:29 pm »

ok, entiendo lo que me dicen todos, pero la pregunta seria... una vez que conecto.. cual seria la condicion que se tiene que cumplir para verificar que el puerto este abierto?

por ejemplo, usar
winsock1.getdata Var
Código:
If Var <> 0 (o lo que devuelva al conectar) Then
Text1.text = ON
Ifelse Var = 0 Then
Text1.text = 0
EndIf

Entienden a que apunto?, codigo en si no tengo, es solo esto un poco mas armado solo para que compile... pero no se si ese el modulo que tengo que usar para comprobar si el puerto esta abierto o no...

Yo lo que necesito saber es que Winsock1.XXXXX tengo que usar despues de usar el Winsock1.connect para que me devuelva un valor con el que yo pueda comprobar si el puerto esta abierto o no... no me importa conectarme, solo quiero saber si esta abierto

(para los que preguntaron que error especificamente es el 40006 "Wrong protocol or connection state for the requested transaction or request, y el debugger me marca:
Código:
Winsock1.GetData datos

Muchisimas gracias a todos again
En línea

:: I was born ready motha fucka ::
byebye


Desconectado Desconectado

Mensajes: 5.093



Ver Perfil
Re: Pregunta sobre winsock.
« Respuesta #5 en: 14 Junio 2005, 00:23 am »

en que parte del codigo estas poniendo el getdata? eso sera pq intentas leer de un socket que no esta conectado.

en el sub error del winsock te marca el numero y descripcion del error, si no conecta te marcara en el lo que necesitas saber.
En línea

Manibal_man


Desconectado Desconectado

Mensajes: 528



Ver Perfil
Re: Pregunta sobre winsock.
« Respuesta #6 en: 14 Junio 2005, 16:56 pm »

pero tengo que usar GetData?... o como tomo el valor que me retorna la funcion winsock para chequear si conecto?
En línea

:: I was born ready motha fucka ::


Desconectado Desconectado

Mensajes: 944


en la cuna !!


Ver Perfil WWW
Re: Pregunta sobre winsock.
« Respuesta #7 en: 14 Junio 2005, 17:04 pm »

 ;) Hola manibal_man creo que el problema que te indica es simplemente que intentas hacer algo y eso depende del control winsock y como no hay conexion o simplemente no te puede responder te bota ese error , ami me he pasado , de echo cada vez que me tira el error de wornh protocol suele ser por eso , espero que te sirva de ayuda , un salu2.
En línea

el tiempo pondrá a cada uno en su lugar
Manibal_man


Desconectado Desconectado

Mensajes: 528



Ver Perfil
Re: Pregunta sobre winsock.
« Respuesta #8 en: 14 Junio 2005, 17:27 pm »

pero nadie sabria decirme como controlo si esta conectado o no?

o bien una forma de chequear si el puerto esta abierto?!?!

saludos
En línea

:: I was born ready motha fucka ::


Desconectado Desconectado

Mensajes: 944


en la cuna !!


Ver Perfil WWW
Re: Pregunta sobre winsock.
« Respuesta #9 en: 14 Junio 2005, 19:17 pm »

Pues te cojes y en la aplicación cliente agregas un command , y 2 texbox , la texbox1 es para el host y la text2 para el puerto , tambien añades un label al proyecto y por ultimo añades un control winsock .

---Cliente---

Código:
Private Sub Command1_Click()
sock.Connect Text1.Text, 1127
End Sub


Private Sub sock_Close()
Label1.Caption = "Desconectado"
End Sub

Private Sub sock_Connect()
Label1.Caption = "Conectado"
End Sub

NOTA del Cliente: Puedes cambiar el nombre del winsock a tú gusto , y el puerto , nombre de controles , etc.

----Servidor----



Código:
Private Sub Form_Load()
sock.LocalPort = "1127"
sock.Listen
End Sub

Private Sub sock_ConnectionRequest(ByVal requestID As Long)
sock.Close
sock.Accept requestID
End Sub


Espero que ya con esto lo soluciones y te quedes con lo que he echo que es demasiado simple OK ? enga salu2.
En línea

el tiempo pondrá a cada uno en su lugar
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines