Si quieres comprobar que realmente tu aplicacion de Windows Sockets está funcionando necesitas el servidor para poder ver los mensajes.

Por supuesto has de ejecutarlo en otro pc y escoger un puerto que no esté siendo utilizado por windows, algo como 20145 o similar. Es importante que en el equipo que lo pongas abras ese puerto en el firewall o lo deshabilites momentaneamente durante las pruebas, de otra forma no te funcionará.

Para usarlo debes poner el puerto y pulsar "Escuchar".

Formato del formulario:

Los nombres de los controles son:

  • Command1 --> Botón enviar.
  • Command2 --> Botón escuchar.
  • Command3 --> Botón desconectar.
  • Text1 --> Ventana de datos recibidos y enviados.
  • Text2 --> Caja de texto para el mensaje a enviar.
  • Text3 --> Caja de texto para el puerto que utilizaremos.
  • Winsock1 --> control “Microsoft Winsock Control”.

Código para la aplicación:

Visual Basic:
  1. Private Sub Command1_Click()
  2.     'enviamos el contenido de Text2
  3.     Winsock1.SendData Text2.Text & vbCrLf
  4.    
  5.     'apuntamos al final del contenido del TextBox e
  6.     'insertamos los nuevos datos obtenidos
  7.     Text1.SelStart = Len(Text1.Text) 'coloca el cursor al final del contenido
  8.     Text1.Text = Text1.Text & "Servidor>" & Text2.Text & vbCrLf 'mostramos los datos
  9.     Text1.SelStart = Len(Text1.Text) 'coloca el cursor al final del contenido
  10.    
  11.     'borramos Text2
  12.     Text2.Text = ""
  13. End Sub
  14.  
  15. Private Sub Command2_Click()
  16.     'cerramos cualquier conexion previa
  17.     Winsock1.Close
  18.  
  19.     'asignamos el puerto local que abriremos
  20.     Winsock1.LocalPort = Text3.Text
  21.    
  22.     'deja el socket esuchando conexiones
  23.     Winsock1.Listen
  24.    
  25.     'desplegamos un mensaje en la ventana
  26.     Text1.SelStart = Len(Text1.Text)
  27.     Text1.Text = Text1.Text & "*** Esuchando conexiones." & vbCrLf
  28.     Text1.SelStart = Len(Text1.Text)
  29. End Sub
  30.  
  31. Private Sub Command3_Click()
  32.     'cierra la conexion
  33.     Winsock1.Close
  34.    
  35.     'desplegamos un mensaje en la ventana
  36.     Text1.SelStart = Len(Text1.Text)
  37.     Text1.Text = Text1.Text & "*** Conexion cerrada por el usuario." & vbCrLf
  38.     Text1.SelStart = Len(Text1.Text)
  39. End Sub
  40.  
  41. Private Sub Winsock1_Close()
  42.     'cierra la conexion
  43.     Winsock1.Close
  44.    
  45.     'desplegamos un mensaje en la ventana
  46.     Text1.SelStart = Len(Text1.Text)
  47.     Text1.Text = Text1.Text & "*** Conexion cerrada por el Cliente." & vbCrLf
  48.     Text1.SelStart = Len(Text1.Text)
  49. End Sub
  50.  
  51. Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
  52.     'mostramos un mensaje en la ventana
  53.     Text1.SelStart = Len(Text1.Text)
  54.     Text1.Text = Text1.Text & "*** Peticion numero " & requestID & vbCrLf
  55.     Text1.SelStart = Len(Text1.Text)
  56.    
  57.     'cerramos previamente el socket
  58.     Winsock1.Close
  59.    
  60.     'aceptamos la conexion
  61.     Winsock1.Accept requestID
  62.    
  63.     'desplegamos un mensaje en la ventana
  64.     Text1.SelStart = Len(Text1.Text)
  65.     Text1.Text = Text1.Text & "*** Conexion aceptada, listo para interactuar." & vbCrLf
  66.     Text1.SelStart = Len(Text1.Text)
  67. End Sub
  68.  
  69. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  70.     Dim Buffer As String 'variable para guardar los datos
  71.    
  72.     'obtenemos los datos y los guardamos en una variable
  73.     Winsock1.GetData Buffer
  74.    
  75.     'apuntamos al final del contenido del TextBox e
  76.     'insertamos los nuevos datos obtenidos
  77.     Text1.SelStart = Len(Text1.Text) 'coloca el cursor al final del contenido
  78.     Text1.Text = Text1.Text & "Cliente>" & Buffer 'mostramos los datos
  79.     Text1.SelStart = Len(Text1.Text) 'coloca el cursor al final del contenido
  80. End Sub
  81.  
  82. 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)
  83.     'cerramos la conexion
  84.     Winsock1.Close
  85.    
  86.     'mostramos informacion sobre el error
  87.     MsgBox "Error numero " & Number & ": " & Description, vbCritical
  88. End Sub

Aqui teneis la aplicacion de cliente para conectarte al servidor.


Vota este artículo:
1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (No Ratings Yet)
Loading ... Loading ...

Posts anterior y posterior:


Posts Relacionados: