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.
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.