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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


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

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Problemas Winsock
« en: 26 Marzo 2012, 13:29 pm »

Estoy desesperado y no se por donde tirar,

He creado una aplicación cliente/servidor con el control Winsock e internamente en mi red funciona todo correctamente.

El problema, es que he de utilizarlo para conectar un PC externo a mi red y el mío, y no consigo que funcione. No llega a conectarse.

He redirigido el puerto con el que trabajo (que es el 1008) con el NAT en el router (también lo he probado con otros).

Lo curioso es que he probado de que el PC externo se conecte mediante el Hyperterminal al Hyperterminal de mi PC mediante TCP y a través del puerto 1008 y se conectan correctamente. Así que entiendo que el problema no es de redireccionamiento.

Por si acaso he desactivado el Firewall de Windows y el de mi antivirus y nada de nada.

No se si alguien se ha encontrado en la misma situación o puede orientarme por donde mirar.


En línea

Zorrohack


Desconectado Desconectado

Mensajes: 855

Quisiera burlar la enfermedad asi como a los AVs


Ver Perfil
Re: Problemas Winsock
« Respuesta #1 en: 26 Marzo 2012, 14:18 pm »

Muestra el código a ver como lo estas haciendo


En línea

Progresamos porque hay Millones de imbeciles, maldicion jodi a McAfee,Panda,Kav,Norton, perdonen solo practicaba.
jesuss2012

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Problemas Winsock
« Respuesta #2 en: 26 Marzo 2012, 16:37 pm »

Gracias por responder,

La aplicación es más larga pero la he recortado a lo más básico, extraido de un ejemplo que funciona correctamente, pero solo en red.

En el programa CLiente Text3 contiene la dirección IP del servidor y Text4 el puerto.
En el programa Servidor Text6 contiene el puerto.

Código en el programa Cliente:
Código:
Private Sub Conectar_Click()
Winsock1.RemoteHost = Text3.Text
Winsock1.RemotePort = Text4.Text
Winsock1.Close
Winsock1.Connect
End Sub

Private Sub Winsock1_Close()
Winsock1.Close
Text1.SelStart = Len(Text1.Text)
Text1.Text = Text1.Text & "Conexion cerrada por el servidor." & vbCrLf
Text1.SelStart = Len(Text1.Text)
End Sub

Private Sub Winsock1_Connect()
Text1.Text = Text1.Text & _ "Conexion establecida." & vbCrLf
Text1.SelStart = Len(Text1.Text)
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Buffer As String
Winsock1.GetData Buffer
Text1.SelStart = Len(Text1.Text) 'coloca el cursor al final del contenido
Text1.Text = Text1.Text & "Servidor >" & Buffer 'mostramos los datos
Text1.SelStart = Len(Text1.Text) 'coloca el cursor al final del contenido
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
Winsock1.Close
MsgBox "Error numero " & Number & ": " & Description, vbCritical
End Sub

Código en el programa Servidor:

Private Sub Escuchar_Click()
Winsock2.Close
Winsock2.LocalPort = Text6.Text
Winsock2.Listen
Text4.SelStart = Len(Text4.Text)
Text4.Text = Text4.Text & "Escuchando conexiones." & vbCrLf
Text4.SelStart = Len(Text4.Text)
End Sub

Private Sub Winsock1_Close()
Winsock1.Close
Text1.SelStart = Len(Text1.Text)
Text1.Text = Text1.Text & "Conexion cerrada por el Cliente." & vbCrLf
Text1.SelStart = Len(Text1.Text)
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Text1.SelStart = Len(Text1.Text)
Text1.Text = Text1.Text & "*** Peticion numero " & requestID & vbCrLf
Text1.SelStart = Len(Text1.Text)
Winsock1.Close
Winsock1.Accept requestID
Text1.SelStart = Len(Text1.Text)
Text1.Text = Text1.Text & "Conexion aceptada, listo para interactuar." & vbCrLf
Text1.SelStart = Len(Text1.Text)
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Buffer As String 'variable para guardar los datos
Winsock1.GetData Buffer
Text1.SelStart = Len(Text1.Text) 'coloca el cursor al final del contenido
Text1.Text = Text1.Text & "Cliente >" & Buffer 'mostramos los datos
Text1.SelStart = Len(Text1.Text) 'coloca el cursor al final del contenido
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
Winsock1.Close
MsgBox "Error numero " & Number & ": " & Description, vbCritical
End Sub
« Última modificación: 26 Marzo 2012, 19:48 pm por raul338 » En línea

Zorrohack


Desconectado Desconectado

Mensajes: 855

Quisiera burlar la enfermedad asi como a los AVs


Ver Perfil
Re: Problemas Winsock
« Respuesta #3 en: 26 Marzo 2012, 17:50 pm »

En primer lugar El Servidor es el que se conecta(Connect), mientras que el Cliente espera la conexión(Listen), verifica bien en Port Fowarding del Router es donde se configuran las redirecciones


Servidor
Código
  1. If Winsock1.State <> 7 Then
  2.  Winsock1.Close
  3.  Winsock1.Connect Text3.Text, Text4.Text
  4. End If

Cliente
Código
  1. Winsock1.LocalPort = Text6.Text
  2. Winsock1.Listen

Asi no debe haber ningun problema, ademas si no estas usando no-ip.com, pues deberias estar unsando el DNS del mismo Router, no se si sabes lo que es DNS
« Última modificación: 26 Marzo 2012, 19:49 pm por raul338 » En línea

Progresamos porque hay Millones de imbeciles, maldicion jodi a McAfee,Panda,Kav,Norton, perdonen solo practicaba.
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Problemas Winsock
« Respuesta #4 en: 26 Marzo 2012, 17:58 pm »

En realidad es Cliente-Servidor, vs diras que es Servidor-Cliente por algunas herramientas que hacen eso para que el que abra los puertos sea el cliente y no los servidores, pero en este caso te conviene usar Servidor-Cliente si, ya que lo que parece el error es que TU abriste los puertos pero no la otra pc. El servidor, este del lado que este, es el que escucha por el puerto que se le indica, asi que donde este la parte que escucha el puerto es la que tiene que tener abierto los puertos.
En línea

jesuss2012

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Problemas Winsock
« Respuesta #5 en: 26 Marzo 2012, 19:32 pm »

Está claro que lo del Cliente / Servidor el concepto está al revés de como lo pensaba, pero en definitiva uno escucha y el otro se conecta. Yo tengo los puertos redireccionados en el que escucha, pero por si acaso también están redireccionados en el que se conecta, aunque entiendo que no es necesario.

Por si sirve de pista, recuerdo que he realizado la misma operación con el Hyperterminal y me ha funcionado correctamente, uno esperando llamada y el otro llamando, y que ha nivel de mi propia red las dos aplicaciones realizan su cometido bien.

He modificado el software según Zorrohack pero sigue persistiendo el mismo error.
"Error 10061:Se ha forzado el rechado de la conexión"

En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Problemas Winsock
« Respuesta #6 en: 26 Marzo 2012, 21:04 pm »

En primer lugar El Servidor es el que se conecta(Connect), mientras que el Cliente espera la conexión(Listen), verifica bien en Port Fowarding del Router es donde se configuran las redirecciones

Hasta donde yo se...

Servidor: Es aquel que presta los servicios...
Cliente: El que usa los servicios...

Existen Dos Tipos de conexiones:

* Normal (cliente se conecta al servidor)
* Inversa: (el servidor se conecta al cliente)

* Si no se realizan las conexión seguramente tengas que abrir y re-dirrecionar el puerto a la PC del App que tiene el puerto en escucha, y abrir los puertos en este equipo segun tus firewall.



Para probar tus conexiones Via Remota puedes usar: InfrAngeluX-ScanX (Permite la conexión y enviar datos a cualquier IP y puerto remoto).

* Prueba tu puerto con este enlace (Debes poner el puerto en escucha y ejecutarlo desde el equipo donde tienes el App ejecutando):
::::-> http://infrangelux.sytes.net/scanx/?port=1008&msg=Hola%20Mundo

* Si quieres probar el puerto desde otra red usa el paremtro IP...
::::-> http://infrangelux.sytes.net/scanx/?ip=www.google.com.mx&port=1008&msg=Hola%20Mundo



Si estas bajo una Red NAT de la cual no tienes acceso a manipular comunicate con tu ISP (la empresa que te ofrece el servicio)...

Enlaces de Interes: EJEMPLOS de Cliente-Servidor

Dulces Lunas!¡.
« Última modificación: 26 Marzo 2012, 21:19 pm por BlackZeroX (Astaroth) » En línea

The Dark Shadow is my passion.
rembolso

Desconectado Desconectado

Mensajes: 163



Ver Perfil
Re: Problemas Winsock
« Respuesta #7 en: 27 Marzo 2012, 05:26 am »

hace mucho tenia el mismo problema, pero no era  winsock era el ruter. Desactiva el cortafuegos del ruter y habilitalo para recibir conexiones . a mi e me soluciono.
En línea

jesuss2012

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Problemas Winsock
« Respuesta #8 en: 27 Marzo 2012, 12:35 pm »

Muchas gracias a todos por vuestras respuestas.
Finalmente he encontrado el problema y era efectivamente los cortafuegos del maldito antivirus.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
dudas de problemas con winsock
Programación Visual Basic
fraktal 2 1,062 Último mensaje 19 Septiembre 2006, 11:22 am
por fraktal
Problemas con winsock
Programación Visual Basic
Tyrz 8 1,840 Último mensaje 16 Diciembre 2006, 20:48 pm
por Tyrz
PROBLEMAS CON WINSOCK
Programación Visual Basic
HALC12 3 1,331 Último mensaje 18 Junio 2007, 21:30 pm
por Sancho.Mazorka
Problemas con winsock
Programación Visual Basic
fede_cp 4 2,165 Último mensaje 29 Mayo 2009, 01:03 am
por 50l3r
Problemas winsock y listview
Programación Visual Basic
XxDarkxX13 1 1,388 Último mensaje 16 Octubre 2011, 23:47 pm
por $Edu$
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines