introduccion al control winsock en VB

(1/7) > >>

BADBYTE-K:
pues en mis dias de buskeda de info interesante encontre por ahi este mini tutorial acerca del uso de sockets en visual basic, esta super basico e interesante, muy recomendado!

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 que esta interesante este proyecto, es lo basico y todo el codigo viene comentado para que 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

byebye:
esta muy bien el texto, pero puede llegar a confundir o desorientar. se podria decir que es introduccion al control winsock no introduccion a sockets en visual basic, ya que en visual basic puedes hacer uso de sockets como desde un programa en c,delphi etc etc sin necesidad de usar este control.

BADBYTE-K:
tienes razon puede ser fatal para cualkiera, mejor asi, mas especifico

ya esta makillado, ahora si  :D

saludox

Syphroot:
Gracias BADBITE tu post me ayudo a entender los winsocks y para que sirven. Me supongo que estos mismos los utiliza cualquier troyano y ahora veo la posiblidad de hacer uno.(para aprender)
Gracias
salu2

Ferchu:
Gracias por este post, es realmente util
 :)

Navegación

[0] Índice de Mensajes

[#] Página Siguiente