Cómo programar aplicaciones Cliente/Servidor en Visual Basic utilizando el Control WinSock

Como anteriormente qued� aclarado dos programas se pueden conectar entre s� a trav�s de internet o de una LAN.

Internet usa el protocolo TCP/IP que significa "Transmision Control Protocol / Internet Protocol", es el que se encarga de recibir paquetes de informaci�n y redirigirlos al usuario final que los solicit�. Este protocolo es el preferido por todos ya que posee una caracter�stica que UDP le envidia, TCP/IP puede verificar que el paquete de informaci�n haya llegado con �xito al destinatario final, concretando as� la transacci�n.

Por el contrario UDP no puede hacer esto, solo manda el paquete con la informaci�n y no verifica que haya llegado satisfactoriamente, poniendo de esta manera en peligro al paquete, ya que puede no llegar entero al destinatario y por lo tanto no sirve si el paquete no llega en su totalidad.

Todas las m�quinas que est�n conectadas a Internet tienen asignadas un n�mero que se forma con 4 cifras de 3 d�gitos (que no pueden superar al n�mero 255). Ejemplo del IP m�ximo que se puede encontrar: 255.255.255.255

.�Propiedades, m�todos y eventos de WinSock

Una vez que tenemos el WinSock control en nuestra barra de controles en Visual Basic ya podemos comenzar a ver las propiedades, eventos y m�todos m�s importantes del control. Para agregarlo manualmente ir a Proyecto> Componentes> y luego seleccionar WinSock Control y Aceptar. Como mencionamos anteriormente este control no es visible en tiempo de ejecuci�n.

Primero abrimos un proyecto (EXE Est�ndar) y colocamos en control en cualquier parte del formulario. Vamos a comenzar por ver las propiedades, estas pueden ser puestas en tiempo de dise�o como tambi�n en tiempo de ejecuci�n. A continuaci�n se detallan las propiedades m�s importantes.

.�Lista de propiedades m�s importantes

  • LocalIP: Devuelve la direcci�n IP de la m�quina local en el formato de cadena con puntos de direcci�n IP (xxx.xxx.xxx.xxx).
  • LocalHostName: Devuelve el nombre de la m�quina local.
  • RemoteHost: Establece el equipo remoto al que se quiere solicitar la conexi�n.
  • LocalPort: Establece el puerto que se quiere dejar a la escucha.
  • RemotePort: Establece el n�mero del puerto remoto al que se quiere conectar.
  • State: Verifica si el Control WinSock esta siendo utilizado o no.

La sintaxis de cada propiedad es Objeto.Propiedad = Valor

Donde Objeto va el nombre del Control WinSock, el nombre predeterminado cuando lo incluimos en alguna aplicaci�n es "WinSock1". Luego le sigue la propiedad que deseamos asignar y finalmente el valor que la misma tomar�.

.�Ejemplo de la propiedad LocalIP

Si queremos probar la propiedad LocalIP debemos seguir los siguientes pasos: Crear un Proyecto (EXE Est�ndar) y agregar el WinSock Control. Luego agregar una etiqueta vac�a, es decir un Label. Por �ltimo, introduzca el siguiente c�digo.

Agregar etiqueta

Private Sub Form_Load()
	Label1.caption = WinSock1.LocalIP
End Sub

Este simple ejemplo nos da de forma r�pida nuestro IP, aunque no estemos conectados a Internet el IP aparece igual, solo que siempre va a tomar el valor : 127.0.0.1

.�Lista de M�todos m�s importantes

Ahora que sabemos manejar las propiedades podemos seguir con los M�todos. A continuaci�n se muestra la lista de algunos de los M�todos m�s importantes del Control WinSock.

  • Accept: S�lo para las aplicaciones de servidor TCP. Este m�todo se utiliza para aceptar una conexi�n entrante cuando se est� tratando un evento ConnectionRequest.
  • GetData: Recupera el bloque actual de datos y lo almacena en una variable de tipo Variant.
  • Listen: Crea un socket y lo establece a modo de escucha.
  • SendData: Env�a datos a un equipo remoto.

.�Lista de Eventos m�s importantes

  • ConnectionRequest: Se produce cuando el equipo remoto solicita una conexi�n. Sin este evento no se puede llevar a cabo la conexi�n.
  • Connect: Se produce cuando el equipo local se conecta al equipo remoto y se establece una conexi�n.
  • Close: Se produce cuando el equipo remoto cierra la conexi�n. Las aplicaciones deben usar el m�todo Close para cerrar correctamente una conexi�n TCP.
  • DataArrival: Se produce cuando llegan nuevos datos. Este evento es importante, ya que debemos hacer algo con la informaci�n que llega.

La sintaxis de los m�todos y eventos es igual a la sintaxis de las propiedades, por lo cual no vamos a hacer referencia a ella.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE ARTÍCULO