Resultados 1 al 3 de 3

Desarrollo Cliente/Servidor

  1. #1 Desarrollo Cliente/Servidor 
    Medio
    Fecha de ingreso
    Sep 2008
    Mensajes
    134
    Descargas
    0
    Uploads
    0
    Hola chicos.

    Ando liado con una aplicacion cliente/servidor en Visual Basic 6, pero me inquieta algo: ¿cómo podría hacer que dados 10 clientes, se conecten a mi (servidor) y que cada cliente use un unico puerto para conectar? ¿Se puede usar un unico socket con varios clientes? Gracias
    Citar  
     

  2. #2  
    Moderador HH
    Fecha de ingreso
    Sep 2003
    Mensajes
    1.384
    Descargas
    21
    Uploads
    5
    Hola biyonder, necesitas un socket por cliente.

    La idea es tener un socket al cual llegan las conecciones y al momento de aceptarlas, se las pasa a otro socket, que por lo general pertenece a un arreglo de sockets.


    Para verlo mas claramente, el servidor tendra esta apariencia:

    ws -> Socket de escucha. Este socket sera el que recibira todos los connectionrequest.

    wsCon() -> Arreglo de sockets para despachar las conecciones

    ContWS -> Entero que lleva la cuenta del socket a usar

    Código:
    Private Function NewSock() As Integer
    
    ContWS = ContWS + 1 Load wsCon(ContWS) NewSock = ContWS
    End Function
    Código:
    Private Sub ws_ConnectionRequest(ByVal requestID As Long)
    
    Dim n As Integer n = NewSock() If wsCon(n).State <> sckClosed Then wsCon(n).Close wsCon(n).Accept requestID
    End Sub

    Obviamente esto es apenas un esquema.
    Ademas NewSock siempre crea un nuevo socket y a medida que van terminando las conexiones los sockets que quedan vacios no se vuelve a usar. Una forma facil de corregir esto es recorriendo todo el vector de sockets comprobando si esta cerrado o no (en caso de estar cerrado se puede usar, si no, no) y en caso de estar todos en uso crear uno nuevo.
    Otra forma un poco mas elegante seria usando una pila en donde poner los sockets que se van liberando.

    Pero bueno, es para ponerse y mirar que combiene y como se puede mejorar. Lo importante es ver como funciona a grandes rasgos.


    Saludos
    - Me desagrada
    - ¿Por qué?
    - No estoy a su altura.
    ¿Ha respondido así alguna vez un hombre?

    Friedrich Nietzsche



    Citar  
     

  3. #3  
    Medio
    Fecha de ingreso
    Sep 2008
    Mensajes
    134
    Descargas
    0
    Uploads
    0
    Muchas gracias pero ya encontre la solucion en un tutorial sobre aplicaciones multi-conexion de visual basic. Tan solo hay que crear un arreglo de winsockets y en el Connection_request administrar las conexiones de los clientes. Gracias!!
    Citar  
     

Temas similares

  1. Respuestas: 14
    Último mensaje: 21-09-2006, 23:06
  2. Cliente servidor en C++
    Por Ely en el foro PROGRAMACION DESKTOP
    Respuestas: 4
    Último mensaje: 10-08-2006, 19:28
  3. En desarrollo
    Por ivan16 en el foro APLICACIONES
    Respuestas: 3
    Último mensaje: 22-02-2006, 13:09
  4. Cliente FTP
    Por clarinetista en el foro APLICACIONES
    Respuestas: 6
    Último mensaje: 27-03-2004, 02:59
  5. Respuestas: 8
    Último mensaje: 21-02-2004, 18:18

Marcadores

Marcadores