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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Multi threads con winsock o multiconexion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Multi threads con winsock o multiconexion  (Leído 7,653 veces)
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Multi threads con winsock o multiconexion
« en: 30 Abril 2008, 02:13 am »

hola hace tiempo vengo con este problema y no encuentro solucion. les explico masomenos, estoy haciendo una aplicacion cliente / servidor multiconexion con winsock, el problema es que cuando hago  mas de una conexion (maximo 2) al sever  deja de responder correctamente, por ejemplo un cliente se conecta entonces el server comienza a enviar una data, y en el evento sendcomplete envia otra data (esto un numero de veces) , bien con el primer cliente funciona, con el segundo(si no pongo un doevents, tambien) con el tercero hasta que no se desconecte uno de los dos primero no se cumple el evento sendcomplete y este bucle de envio se interrumpe. a mi parecer es un problema de threat, no se bien como lo haran los verdaderos servidores pero en fin con visual basic no encontre forma.
(tambien probe con la clase CSocketMaster.cls y es lo mismo)

En el ejemplo que voy a poner en el server no utilize el winsock.ocx interface sino que lo utilize como una clase objWinSock As MSWinsockLib.Winsock pero basicamente es lo mismo el problema es en ambos.

multiconexion.zip en UpSourceCode.com.ar

para provar ejecutan el server y despues un par de veces el cliente.exe y van a ver que la tercera ves no llegan los datos hasta cerrar uno de los dos primeros.

bien espero alguien sepa como puedo solucionar este problema de threat

Saludos






« Última modificación: 30 Abril 2008, 02:35 am por LeandroA » En línea

SKL (orignal)

Desconectado Desconectado

Mensajes: 259


UpLoadSourceCode


Ver Perfil WWW
Re: Multi threads con winsock o multiconexion
« Respuesta #1 en: 30 Abril 2008, 03:44 am »

pero... probaste con el CSocketMaster Plus para multiconexiones???

yo lo use una vez con mas de 5 usuarios y me andubo perfecto, fijate qeu hay varias versiones. y tambien hay una funcion o una variable para maximo de conexiones, segun lo que lei pusiste maximo 2, entonces como se va a conectar un 3ro si no se puede???


sl2


En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Multi threads con winsock o multiconexion
« Respuesta #2 en: 1 Mayo 2008, 17:42 pm »

Hola porve con CSocketMaster Plus pero no funciona tampoco, se pone insestable y explota vb.

no se trata de cuantos usuarios pueda conectar yo vasicamente el ejemplo que puse lo que hace es simular un server enviando Archivos a mas de un cliente a la ves, con un simple chat no abria problemas ya que al no ser grande el trafico se la bancaria bien. pero lo que intento solucionar es por ejemplo un server enviando un archivo a cinco clientes a la ves.

Tambien prove poner el codigo que figura en la clase1 dentro de un EXE ActiveX para poder simular el Multi threads y solo pasarle a este el requestID, pero no funciona porque el EXE ActiveX posee otra instancia diferente al de mi aplicacion(server) entonces el socket no lo hacepta y da un error del objeto.

lo unico que se me ocurre y no me combense para nada, es intentar repartir los paquetes el finalizar el envio (sendcomplete) por cada conexion y ademas no se si igual funcionaria

ejemplo

sever envia primera parte del paquete a cliente1 continua server enviando primera parte al cliente numero dos, asi con el tres y el cuatro etc.

finalizado este ciclo

sever envia Segunda parte del paquete a cliente1 continua server enviando Segunda parte al cliente numero dos, asi con el tres y el cuatro etc.

pero bueno no seria nada facil de programarlo y ademas dejaria de ser Multi threads

ya me esta acobardando Saludos
En línea

‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: Multi threads con winsock o multiconexion
« Respuesta #3 en: 1 Mayo 2008, 18:05 pm »

Y has probado crear una matriz en el cliente y en el server, de modo que cada server[a] este conectado a cada cliente[a]; y asi seria como usar varios winsocks, pero teniendo uno solo.
En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Multi threads con winsock o multiconexion
« Respuesta #4 en: 1 Mayo 2008, 20:31 pm »

Y has probado crear una matriz en el cliente y en el server, de modo que cada server[a] este conectado a cada cliente[a]; y asi seria como usar varios winsocks, pero teniendo uno solo.


hola, si practicamente en el ejemplo que puse, es asi como lo estoy trabando, en verdad ya prove todas las formas que se me podian cruzar por la cabesa pero no encuentro la forma de enviar un archivo a mas de dos clientes a la ves. (utilizando este metodo de enviar el siguiente paquete despues del primero con el mentodod sendcomplete)

Saludos
En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Multi threads con winsock o multiconexion
« Respuesta #5 en: 1 Mayo 2008, 22:19 pm »

bueno creo que esta solucionado no lo prove a grandes rasgos pero creo que va a ir bien, el problema es que ni el evento sendComplete ni el winsock.send  crean un nuevo hilo, por lo tanto este pasa a puntero la ultima clase llamada asi que lo que hice fue llamar dentro del evento Sendcomplete un pulso de un timer para enviar el siguiente paquete, creo que es lo mas parecido a un multi threads que se puede hacer sin que casque el visual.

bueno si a alguien le sirve el ejemplo o puede mejorarlo.
multiconexion2.zip - Descargalo en UpSourceCode.com.ar

Saludos y muchas gracias
En línea

alexxandra

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Multi threads con winsock o multiconexion
« Respuesta #6 en: 9 Diciembre 2009, 00:15 am »

hola me interesa el ejemplo que publicaste pero ya no esta disponible, podrias subirlo de nuevo, gracias
En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: Multi threads con winsock o multiconexion
« Respuesta #7 en: 9 Diciembre 2009, 15:30 pm »

No revivas post viejos...! Si ves la firma de Leandro hay un link, entra allí y busca lo que necesitas!
En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda !!! Winsock Multi Puertos ¿? URGENTE!
Programación Visual Basic
Brian1511 9 7,442 Último mensaje 17 Diciembre 2012, 08:18 am
por BlackZeroX
Multi Threads y Creación de archivos.
.NET (C#, VB.NET, ASP)
Xephiro 4 2,626 Último mensaje 24 Abril 2015, 22:31 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines