elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  array de sockets
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: array de sockets  (Leído 3,880 veces)
grester43hck

Desconectado Desconectado

Mensajes: 57


Ver Perfil
array de sockets
« en: 12 Agosto 2010, 17:20 pm »

Hola!! estoy intentando hacer un array de shockets, pero me asaltan varias dudas y problemas. ¿Todos esos sockets pueden escuchar en el mismo puerto? y si es asi, como ago una vez que este en tiempo de ejecucion para abrir mas sockets? es decir, si tengo el index 0 desde el principio y una vez que ese queda conectado quiero crear el index 1, ¿como hago? he intentado algo asi:

Código:
socket.item (1)

Pero al utilizarlo despues me da error, como si no se ubiese creado.

Gracias.   :)


« Última modificación: 12 Agosto 2010, 17:27 pm por grester43hck » En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: array de sockets
« Respuesta #1 en: 12 Agosto 2010, 17:55 pm »

HOLA!!!


Yo intentaria tener 2 controles sock, uno el de la matriz de controles y otro de respaldo.


Osea:


Cliente --> "quiero conectarme" ---> servidor(a la escucha por el sock de respaldo)
Servidor crea el "index1", lo configura(el puerto) y guarda la config en ej parametros
Servidor --> "desconectate de mi y reconectate a:" & parametros ---> cliente
Cliente se desconecta y se conecta al nuevo puerto que se le asigno
Cliente --> "quiero conectarme" ---> servidor(a la escucha por el array creado)
¡¡¡conexión ESTABLECIDA!!!

TERMINADO !!!


En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
grester43hck

Desconectado Desconectado

Mensajes: 57


Ver Perfil
Re: array de sockets
« Respuesta #2 en: 12 Agosto 2010, 18:59 pm »

HOLA!!!


Yo intentaria tener 2 controles sock, uno el de la matriz de controles y otro de respaldo.


Osea:


Cliente --> "quiero conectarme" ---> servidor(a la escucha por el sock de respaldo)
Servidor crea el "index1", lo configura(el puerto) y guarda la config en ej parametros
Servidor --> "desconectate de mi y reconectate a:" & parametros ---> cliente
Cliente se desconecta y se conecta al nuevo puerto que se le asigno
Cliente --> "quiero conectarme" ---> servidor(a la escucha por el array creado)

¡¡¡conexión ESTABLECIDA!!!

TERMINADO !!!


la parte que e marcado, es la que no comprendo demasiado, te refieres a enviarle al cliente el nuevo puerto (que es el del 2 sock), crear el sock(1) y que el cliente se conecte no? si es asi bien pero el paso de crearlo no se como hacerlo :-/

Gracias :)
En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: array de sockets
« Respuesta #3 en: 12 Agosto 2010, 19:53 pm »

Aplicación Servidor Multi-conexión
Citar
1. Vista general del funcionamiento

Como vimos anteriormente en el Servidor mono-conexión, dejábamos un socket a la escucha de conexiones entrantes, y al recibir una petición de conexión (evento "ConnectionRequest") le decíamos al Winsock que aceptara esa identidad y este a su vez establecía una conexión con el cliente.

Los principios para crear un servidor multi-conexión son los mismos, salvo que necesitamos dejar un socket escuchando permanentemente conexiones entrantes, este nunca se debe cerrar (al contrario de lo que pasaba en el caso del servidor mono-conexión), entonces ¿como podemos aceptar una conexión si no podemos cerrar el socket que tenemos a la escucha?, ¿acaso podemos dejar un mismo socket escuchando conexiones y atendiendo otra a la vez?, la respuesta es No podemos, pero nada nos impide hacer que otro socket que se encuentra inactivo acepte y atienda una petición de conexión. De esta forma el trabajo total se reparte entre varios sockets: un socket permanentemente escuchando peticiones de conexión (recepcionista) y otros tantos socket que se encargan de atender a cada uno de los clientes (ejecutivos).

2. Creando el arreglo de WinSocks

Para poder trabajar con varias conexiones a la vez necesitamos varios sockets disponibles, ya que cada uno solo puede trabajar con una sola conexión, y como en principio no conocemos la cantidad de Winsocks que necesitaremos debemos inclinarnos por crear Arreglos de controles Winsock e irlos cargando dinámicamente.

Aquí tienes un ejemplo de ello:
Código:
*http://www.monografias.com/trabajos30/tutorial-visual-basic/tutorial-visual-basic.shtml
En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: array de sockets
« Respuesta #4 en: 12 Agosto 2010, 20:48 pm »

HOLA!!!


Mira este es un ejemplo rudimentario (imaginemos que se puede mandar eso)

Esto en el server:

Código
  1. Public i As Integer
  2. Public PUERTO As Integer
  3.  
  4. Private Sub Form_Load()
  5. PUERTO = 7913
  6. End Sub
  7.  
  8. Private Sub RESPALDO_DataArrival(ByVal bytesTotal As Long)
  9. i = i + 1
  10. Load SOCK(i)
  11. SOCK(i).LocalPort = PUERTO + i
  12. RESPALDO.SendData "Port:" & (PUERTO + i)
  13. End Sub
  14.  

Esto en el cliente:

Código
  1. Private Sub WINSOCK1_DataArrival(ByVal bytesTotal As Long)
  2. If Mid(entrada, 1, 5) = "Port:" Then
  3. Call CORTARCONECCION
  4. Call CAMBIARPUERTO
  5. End If
  6. End Sub
  7.  
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
grester43hck

Desconectado Desconectado

Mensajes: 57


Ver Perfil
Re: array de sockets
« Respuesta #5 en: 13 Agosto 2010, 12:58 pm »

Gracias por la ayuda a los dos :). Cassiani el tutorial que linkeaste esta perfecto :P muchas gracias. 79137913 tu metodo lo malo que tiene es que si lo e entendido bien el servidor necesita abrir tantos puertos como conexiones valla a tener, eso no es muy practico desde mi punto de vista, pero igualemte gracias :)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[DUDA C#] Pasar array por sockets « 1 2 »
.NET (C#, VB.NET, ASP)
Dryken 10 10,560 Último mensaje 2 Marzo 2013, 19:31 pm
por Dryken
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines