Autor
|
Tema: Problemas Winsock (Leído 3,461 veces)
|
jesuss2012
Desconectado
Mensajes: 4
|
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
Mensajes: 855
Quisiera burlar la enfermedad asi como a los AVs
|
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
Mensajes: 4
|
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: 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
Mensajes: 855
Quisiera burlar la enfermedad asi como a los AVs
|
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 If Winsock1.State <> 7 Then Winsock1.Close Winsock1.Connect Text3.Text, Text4.Text End If
Cliente Winsock1.LocalPort = Text6.Text 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
Mensajes: 1.842
|
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
Mensajes: 4
|
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
Mensajes: 3.158
I'Love...!¡.
|
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-ServidorDulces Lunas!¡.
|
|
« Última modificación: 26 Marzo 2012, 21:19 pm por BlackZeroX (Astaroth) »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
rembolso
Desconectado
Mensajes: 163
|
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
Mensajes: 4
|
Muchas gracias a todos por vuestras respuestas. Finalmente he encontrado el problema y era efectivamente los cortafuegos del maldito antivirus.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
dudas de problemas con winsock
Programación Visual Basic
|
fraktal
|
2
|
1,186
|
19 Septiembre 2006, 11:22 am
por fraktal
|
|
|
Problemas con winsock
Programación Visual Basic
|
Tyrz
|
8
|
2,111
|
16 Diciembre 2006, 20:48 pm
por Tyrz
|
|
|
PROBLEMAS CON WINSOCK
Programación Visual Basic
|
HALC12
|
3
|
1,444
|
18 Junio 2007, 21:30 pm
por Sancho.Mazorka
|
|
|
Problemas con winsock
Programación Visual Basic
|
fede_cp
|
4
|
2,322
|
29 Mayo 2009, 01:03 am
por 50l3r
|
|
|
Problemas winsock y listview
Programación Visual Basic
|
XxDarkxX13
|
1
|
1,483
|
16 Octubre 2011, 23:47 pm
por $Edu$
|
|