Tutorial de Winsock de Visual Basic

Winsock es un control que se utiliza para hacer conexiones entre computadoras a través de la red o Internet. Básicamente, es un conjunto de funciones y variables, lo que nos permite enviar y recibir datos de una computadora a otra. Winsock se encuentra en el archivo mswinsck.ocx, desde la carpeta “System32”.

Para usar Winsock en Visual Basic, el archivo mswinsck.ocx debe importarse. Esto se puede hacer seleccionando “componentes” en el menú del proyecto. Luego, debemos verificar el control de Microsoft Winsock. Ahora podemos comenzar a usar Winsock en nuestra aplicación. Para ver cómo funciona Winsock, en este tutorial escribiremos un cliente de chat básico y un servidor de chat, que enviará, recibirá y procesará información entre dos computadoras.

El lado del cliente Parte del programa de chat

En primer lugar, crearemos la parte del lado del cliente del programa de chat. Cree un nuevo proyecto Visual Basic e importe el control Winsock. Ponga Winsock en el formulario y cambia el nombre “Winsck”. Ahora, debemos poner controles adicionales en nuestro formulario, que se utilizarán como parámetros para el Winsock. Necesitaremos un control de cuadro de texto que se utilizará para la dirección de host. Pon un cuadro de texto en el formulario y cambie el nombre de “host_address”. Luego, para conectarnos al host, necesitaremos especificar el puerto de conexión. Agregue otro cuadro de texto y cambie el nombre de “host_port. Ahora que tenemos los parámetros de conexión, solo necesitamos algunos datos para enviar. Los datos estarán en otro cuadro de texto, con el nombre “data_text”. La aplicación también necesitará algunos botones de comando, para que el usuario pueda manipular el Winsock junto con los parámetros. Cree dos botones de comando, con el nombre “Connect_Button” y “Send_Button”. El primero se usará para conectarse al host y el segundo para enviar el texto de “data_text”. También necesitaremos otro cuadro de texto con el nombre “Incoming_Text”, donde podemos ver los datos entrantes. Ahora que se establecen todos los controles, debemos escribir el código.

READ  El mejor lenguaje de programación de computadoras para principiantes

Para enviar datos al host, debemos hacer la conexión entre las computadoras. El botón “Connect_Button” se usará para hacerlo. Haga doble clic en él y escriba el código de conexión:

privado sub conection_button_click ()
winsck.remotehost = host_address.text
winsck.remoteport = host_port.text
winsck .Connect
end sub

El código es muy fácil de entender. En el evento “Haga clic” en el botón de comando, el Winsock se conectará al puerto host: desde los cuadros de texto. Ya que tenemos una conexión, nuestra aplicación debe saber cómo recibir datos. Esto se realizará con la ayuda del evento “DataArrival”. Haga doble clic en el control WinSock y escriba el siguiente código:

Sub privado winsck_dataArrival (byval bytestotal tan largo)
dim incoming_string como cadena
winsck.getData incoming_string, vBstring
incoming_text.text = incoming_text.text & _incoming_string & vbcrlf
end sub

Este código está diciendo al winsock que coloque los datos entrantes en la variable “incoming_string” y luego Muéstralo en nuestro cuadro de texto “Incoming_Text” y crea una nueva línea. Ahora debemos escribir el código para enviar información a través del winsock. Haga doble clic en el “Send_Button” y escriba el siguiente código:

Sub privado send_button_click ()
winsck.senddata data_text.text
end sub
</p >

Esto se explica bastante por sí mismo. Winsock se ocupa de todo con esta función simple “SendData”. El cliente del programa de chat está listo. Siéntase libre de hacer un buen diseño gráfico para que la aplicación se vea bien.

La parte del lado del servidor del programa de chat

<

< P> Para el servidor necesitaremos crear un segundo formulario. Los controles de este formulario serán los mismos que en Form1, con una pequeña excepción. El servidor no necesita un “host_address” para conectarse, porque el servidor solo está escuchando los datos entrantes, y el cliente se conecta a él. El resto de los controles serán los mismos. Ahora, podemos escribir el código para que nuestro servidor sea conectable. El código es para “Connect_Button”:

READ  Tutoriales de computadora: cómo usar las herramientas de pintura de MS

private subnect_button_click ()
winsck.localport = host_port.text
winsck.listen
end sub
<///// P>

Ahora, necesitamos manejar la conexión de nuestro cliente. Usaremos el método ConnectionRequest. Haga doble clic en el control Winsock y escriba el siguiente código:

Sub privado winsck_connectionRequest (byval requestID por mucho tiempo)
Si winsck.state sckClosed luego
winsck.close
End If
winsck.accept requestid
incoming_text.text = incoming_text.text & _sockmain.remotehostip & _ “está conectado”. & vbcrlf
end sub

Este código verifica la conexión y el SoldId y luego mostrará la dirección IP del cliente. El SoldID es un número de identificación, que es muy útil cuando maneja más conexiones. Ahora el servidor es conectable, pero no puede enviar ni recibir ningún dato del cliente. Esto se puede resolver con el siguiente código para el botón de comando “send_button”.

private sub send_button_click ()
winsck.senddata data_text.text
end sub
/p>

privado sub winsck_dataarrival (byval bytestotal tan largo)
dim incoming_string as string
winsck.getData incoming_string, vbstring
incoming_text.text = incoming_Text.Text & _incoming & vbcrlf < > End sub

El código es casi el mismo con el del cliente. El servidor ahora está listo para su uso. Ahora debemos compilar el código y hacer un archivo “.exe”. Luego podemos probar la aplicación de chat. Conéctese al localhost, (127.0.0.1) y escriba algo en el “data_text”. El texto aparecerá en el chat del servidor. Este fue un uso básico de Winsock, pero se puede usar para construir una aplicación extremadamente potente, que puede manejar muchas conexiones y procesar datos en tiempo real.