Ayuda Con Winsock

Celeste
22 de Marzo del 2005
Hola:
Alguien quien me ayude necesito saber como funciona el control winsock.

. : AlphaSoft : .
22 de Marzo del 2005
Windows Sockets

En Visual Basic disponemos de un control para acceder fácilmente a las APIs de sockets de Windows. Este se llama Winsock. Voy a exponer las principales características que necesitamos conocer para trabajar con este control, rematando el repaso con una aplicación que podremos ejecutar tanto en modo cliente, como en modo servidor; en nuestro propio equipo, o en varios.


Introducción

El control WinSock, nos proporciona un acceso sencillo a los servicios de red TCP y UDP. La diferencia entre ambos protocolos es que con TCP creamos y mantenemos una conexión entre varios equipos asegurando la integridad de los datos. Con UDP los equipos no establecen una conexión: es un protocolo sin conexiones.

Estableciendo las propiedades y llamando a los métodos del control, podremos conectar fácilmente con un equipo remoto e intercambiar datos en las dos direcciones.

Es un control visible únicamente en tiempo de diseño. En tiempo de ejecución, será invisible para el usuario.



Propiedades

LocalPort: puerto en el que se establecerá el socket (conexión) entre dos equipos. Si establecemos su valor a cero (0), el control se encargará de utilizar un puerto aleatorio.
LocalHostName: nombre de la máquina local.
LocalIP: dirección IP de la máquina local.
RemoteHost: equipo remoto al que se conecta la máquina local (puede ser un nombre de máquina o una dirección IP).
RemoteHostIP: IP del equipo remoto.
RemotePort: puerto del equipo remoto al que conectar.
State: estado de la comunicación entre los equipos. Valores:
0 - Cerrado
1 - Abierto
2 - Escuchando...
3 - Conexión pendiente
4 - Resolviendo host...
5 - Host resuelto
6 - Conectando...
7 - Conectado
8 - Cerrando
9 - Error


Métodos

Accept: acepta una petición de conexión entrante.
Bind: especifica una dirección IP y un puerto locales para establecer una conexión IP (este método lo utilizaremos cuando queramos que nuestra aplicación soporte múltiples adaptadores de protocolo).
Close: cierra una conexión
GetData: recupera el bloque actual de datos.
PeekData: como GetData.
Listen: establece la escucha por un determinado puerto.
SendData: envía datos a un equipo remoto.


Eventos

Connect: lanzado cuando un equipo remoto establece una comunicación (no cuando la creamos desde la máquina local).
Close: se produce cuando el equipo remoto cierra la conexión (no cuando la cerramos desde la máquina local).
ConnectionRequest: petición de conexión de un equipo remoto. Tendremos que llamar al método Accept para aceptarla.
DataArrival: cuando llegan datos del equipo remoto.
SendComplete: terminada una operación de envío.
SendProgress: se produce mientras se envían datos.
Error: cuando se produce un error en los procesos de segundo plano.


Ejemplo

Una vez mostradas las características básicas del control WinSock lo mejor es que lo veamos en acción. Para ello, aquí te puedes bajar un ejemplo que funciona tanto como cliente y, a la vez, como servidor (el mismo código nos sirve) estableciendo una conexión TCP. Esto, es de utilidad en una aplicación real ya que es muy probable que no sepamos cuando nuestra aplicación va a enviar o a recibir datos.

Todo el código está comentado, así que se puede apreciar perfectamente cómo trabaja el WinSock, un control muy sencillo de utilizar y al mismo tiempo, muy potente.


vaya ke esta interesante este proyecto, es lo basico y todo el codigo viene comentado para ke no te mueras en el intento de aprenderlo ;D

http://www.programming-vb.com/vb/ctr_int/sockets.zip


Extraido de aki htp://www.programming-vb.com

Espero que te sirva... Saludos!

. : AlphaSoft : .