Social Icons

viernes, 28 de marzo de 2014

Como programar en red con visual basic 6 - Cómo crear aplicaciones que acepten varias conexiones

Estimados lectores.

Espero hayan estudiado ya las entradas anteriores, ya que a partir de este punto, entraremos en una nueva etapa del curso para programar aplicaciones en red con visual basic 6, en la cual dejaremos de lado el concepto de aplicación cliente/servidor 1 a 1, y entraremos al concepto de aplicaciones cliente/servidor 1 a muchos.

Como crear aplicaciones que aceptan varias conexiones?

Para crear este tipo de aplicaciones, se olvida el concepto 1 a 1 para convertirse en un concepto 1 a muchos, para lograr esto en nuestras aplicaciones, tenemos que pensar de la siguiente manera:

En lugar de hacer que nuestro winsock del servidor reciba una conexión y se cierre:

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
  Winsock1.Close                        ‘cierra el winsock
  Winsock1.Accept requestID     ‘Acepta la conexión
End Sub


Lo que debemos hacer es que nuestro winsock reciba la petición y cree otro winsock que aloje esa conexión, y él siga esperando más conexiones, esto lo conseguimos de la siguiente forma:

Primero seleccionamos nuestro winsock y en la propiedad index ponemos el valor de “0”, con esto indicamos que será una matriz unidimensional o un vector de winsocks, ahora al recibir una petición de conexión se utiliza este código:

Antes que nada declaramos una variable que va a llevar el conteo de las conexiones establecidas

Public contador_conexiones as integer

Private Sub Winsock1_ConnectionRequest(Index As Integer, ByVal requestID As Long)
  Load Winsock1(contador_conexiones)  'Se crea un nuevo winsock en el vector
  Winsock1(contador_conexiones).Close 'Se cierra el winsock creado
  Winsock1(contador_conexiones).Accept requestID 'El winsock creado acepta la conexión entrante
  contador_conexiones = contador_conexiones + 1 'Aumentamos nuestra variable de conexiones

End Sub

No hay comentarios.:

Publicar un comentario

 
Blogger Templates