Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

[Ayuda:Vb6] Winsock

Estas en el tema de [Ayuda:Vb6] Winsock en el foro de Visual Basic clásico en Foros del Web. Buenas gente, estaba viendo de crear una aplicación usando el Winsock, queriendo crear un chat (Para comenzar entre dos maquinas, luego le ire agregando más ...
  #1 (permalink)  
Antiguo 20/05/2011, 23:14
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
[Ayuda:Vb6] Winsock

Buenas gente, estaba viendo de crear una aplicación usando el Winsock, queriendo crear un chat (Para comenzar entre dos maquinas, luego le ire agregando más cosas ^^)...

El programa que realicé, funciona perfectamente en una red LAN, pero al querer usar este programa a través de internet, no logró conseguir la conexión entre cliente-servidor.

Si quieren, les dejo el código fuente del mismo:

Cliente

Código Vb:
Ver original
  1. Private Sub Command1_Click()
  2. Winsock1.SendData Text2.Text
  3. Text1.Text = Text1.Text & "Cliente>" & Text2.Text & vbCrLf
  4. Text2.Text = ""
  5. End Sub
  6.  
  7. Private Sub Command2_Click()
  8. Winsock1.RemoteHost = Text3.Text
  9. Winsock1.RemotePort = Text4.Text 'Definicion de IP y puerto
  10.  
  11. Winsock1.Close
  12. Winsock1.Connect 'Conexion al servidor
  13. 'Form2
  14. 'Form2.Visible = True
  15. End Sub
  16.  
  17. Private Sub Winsock1_Connect()
  18. Text1.Text = Text1.Text & "Conexion al servidor realizada." & vbCrLf
  19. End Sub
  20.  
  21. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  22. Dim Dato As String
  23. Winsock1.GetData Dato
  24. Text1.Text = Text1.Text & "Servidor>" & Dato & vbCrLf
  25. End Sub
  26.  
  27.  
  28. Private Sub Winsock1_Close()
  29. Winsock1.Close
  30. Text1.Text = Text1.Text & "Conexion cancelada por el servidor." & vbCrLf
  31. End Sub

Servidor
Código Vb:
Ver original
  1. Private Sub Command1_Click()
  2. Winsock1.SendData Text2.Text
  3. Text1.Text = Text1.Text & "Servidor >" & Text2.Text & vbCrLf
  4. Text2.Text = ""
  5. End Sub
  6.  
  7.  
  8. Private Sub Command2_Click()
  9. Winsock1.Close
  10. Winsock1.LocalPort = Text3.Text 'Definicion de puerto
  11. Winsock1.Listen 'Conexion al servidor
  12. Text1.Text = Text1.Text & "Servidor activo." & vbCrLf
  13. End Sub
  14.  
  15. Private Sub Command3_Click()
  16. Winsock1.Close
  17. Text1.Text = Text1.Text & "Conexion cancelada." & vbCrLf
  18. End Sub
  19.  
  20. Private Sub Winsock1_Connect()
  21. Text1.Text = Text1.Text & "Conexion al servidor realizada." & vbCrLf
  22. End Sub
  23.  
  24. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  25. Dim Dato As String
  26. Winsock1.GetData Dato
  27. Text1.Text = Text1.Text & "Cliente>" & Dato & vbCrLf
  28. End Sub
  29.  
  30.  
  31. Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
  32. Text1.Text = Text1.Text & "Pedido de conexion: " & requestID & vbCrLf
  33. Winsock1.Close
  34. Winsock1.Accept requestID
  35. Text1.Text = Text1.Text & "Conexion realizada." & vbCrLf
  36. End Sub
  37.  
  38. Private Sub Winsock1_Close()
  39. Winsock1.Close
  40. Text1.Text = Text1.Text & "Conexion cancelada por el Cliente." & vbCrLf
  41. End Sub

Creo que el problema viene del lado de los puertos en el servidor. Mi pc (Que hace de servidor), esta conectada a través de un router a internet. Ya abrí el puerto que voy a usar para mi programa, y se lo asigne a mi pc. Tambiñen tengo deshabilitado el firewall (Tanto del equipo como del router), pero todavía sigo sin poder realizar la conexión entre el Servidor (Mi computadora) y el cliente (Computadora de una amigo) vía internet...

Si alguien puede darme una mano, les estaría muy agradecido. Desde ya muchas gracias, cualquier consulta no duden en preguntar.

Saludos!
  #2 (permalink)  
Antiguo 21/05/2011, 04:45
Avatar de servantsoftware  
Fecha de Ingreso: abril-2011
Ubicación: 1 Pedro 4.11
Mensajes: 94
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: [Ayuda:Vb6] Winsock

Bueno mi opinión: Creo que puede ser que cuando te conectas sin internet: o los usas sin internet: Usas localhost pero: ya cuando lo usas con internet y en dos maquinas: tienes que en vez de poner eso trendias que comensar a poner la IP:

127.0.0.1, 192.234.456.7 ((((---- ejemplos

Donde pondrias la ip? donde colocas localhost, pero para que entiendas mas, creo que esto te puede ayudar:

http://www.monografias.com/trabajos30/tutorial-visual-basic/tutorial-visual-basic.shtml
  #3 (permalink)  
Antiguo 21/05/2011, 10:15
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: [Ayuda:Vb6] Winsock

Cita:
Iniciado por servantsoftware Ver Mensaje
Bueno mi opinión: Creo que puede ser que cuando te conectas sin internet: o los usas sin internet: Usas localhost pero: ya cuando lo usas con internet y en dos maquinas: tienes que en vez de poner eso trendias que comensar a poner la IP:

127.0.0.1, 192.234.456.7 ((((---- ejemplos

Donde pondrias la ip? donde colocas localhost, pero para que entiendas mas, creo que esto te puede ayudar:

http://www.monografias.com/trabajos30/tutorial-visual-basic/tutorial-visual-basic.shtml
Si, obviamente cuando quiero usarlo por internet uso mi IP pública, y ya configuré el router para que me asigné el puerto que estoy usando a mi IP privada, para así no tener problemas en ese aspecto... Pero aún no logro resultados.

Igualmente gracias por tu ayuda ^^

Saludos!
  #4 (permalink)  
Antiguo 21/05/2011, 11:48
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 4 meses
Puntos: 19
Respuesta: [Ayuda:Vb6] Winsock

Cita:
Iniciado por coqui90 Ver Mensaje
Si, obviamente cuando quiero usarlo por internet uso mi IP pública, y ya configuré el router para que me asigné el puerto que estoy usando a mi IP privada, para así no tener problemas en ese aspecto... Pero aún no logro resultados.

Igualmente gracias por tu ayuda ^^

Saludos!
Sacate la duda con un PORTSCAN, y fijate si realmente habre el puerto... Si no lo abre ahi esta el problema
  #5 (permalink)  
Antiguo 21/05/2011, 13:01
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: [Ayuda:Vb6] Winsock

Cita:
Iniciado por culd Ver Mensaje
Sacate la duda con un PORTSCAN, y fijate si realmente habre el puerto... Si no lo abre ahi esta el problema
Si, está correctamente abierto.

Ya lo pude solucionar :) Tuve que crear un dominio en No-IP, para que pueda acceder a mi maquina a través del mismo, aunque no sé bien el motivo del porque no funciona de forma directa... Muchas gracias Servan y Culd por prestar su ayuda.

Pueden cerrar el theard si quieren.

Saludos!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:22.