sockets
Publicado por LucianoR (10 intervenciones) el 22/01/2003 03:55:19
Hola, que tal:
HAce varios dias que estoy con este problema y no pude seguir con lo que estaba haciendo.
Les cuento el problema:
Estoy trabajando con control Winsock. Tengo un programa cliente, y un programa
servidor. En eL servidor el control winsock es un array de controles, para que
pueda aceptar varias peticiones de varios clientes. Estoy con el protocolo TCP.
El problema es que cuando quiero mandar un mensaje a todos los clientes ( a traves
del servidor ) , solo le llega el mensaje al ultimo cliente conectado.
lo hago de una forma similar a esta ->
for i=1 to CantClientes
sckServer(i).SendData "MENSAJE PARA TODOS"
next
Si adentro del ciclo for le pongo algo como msgbox"Mensaje enviado",,"chat"
lo hace perfectamente, pero imaginense si quiero mandar un mensaje a 40 clientes,
obiamente me apareceria 40 veces ese mensaje de porqueria.
Pienso que tampoco seria una solucion darle un retardo, porque estariamos
en una ineficiencia similar.
Si alguien sabe por favor que me conteste.
Desde ya, muchas gracias.
HAce varios dias que estoy con este problema y no pude seguir con lo que estaba haciendo.
Les cuento el problema:
Estoy trabajando con control Winsock. Tengo un programa cliente, y un programa
servidor. En eL servidor el control winsock es un array de controles, para que
pueda aceptar varias peticiones de varios clientes. Estoy con el protocolo TCP.
El problema es que cuando quiero mandar un mensaje a todos los clientes ( a traves
del servidor ) , solo le llega el mensaje al ultimo cliente conectado.
lo hago de una forma similar a esta ->
for i=1 to CantClientes
sckServer(i).SendData "MENSAJE PARA TODOS"
next
Si adentro del ciclo for le pongo algo como msgbox"Mensaje enviado",,"chat"
lo hace perfectamente, pero imaginense si quiero mandar un mensaje a 40 clientes,
obiamente me apareceria 40 veces ese mensaje de porqueria.
Pienso que tampoco seria una solucion darle un retardo, porque estariamos
en una ineficiencia similar.
Si alguien sabe por favor que me conteste.
Desde ya, muchas gracias.
Valora esta pregunta


0