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