Visual Basic Foro
Programación => Visual Basic .NET / C# => Mensaje iniciado por: Waldo en Octubre 29, 2015, 04:42:14 pm
-
Hola gente, estoy iniciándome en el mundo de .net y necesito hacer un servidor tcp multiclient ( pequeña gran tarea ;D )
Para arrancar a jugar, ya me hice un cliente y un servidor, el servidor simple escucha.
Hasta ahi todo bien.
Ahora pasé al server multiclient, encontré un par de ejemplos, tengo algo funcionando.
El servidor es tipo multithread., para aceptar conexiones, recibir y enviar lo hace con metodos Async.
La duda es si para enviar, digamos un ACK desde el server, lo puedo hacer con un simple Socket.Send (que seria sincronico o bloqueante) o estoy obligado a hacer el Send con un .BeginSend y .EndSend
De movida probe con el .Send y funciona, pero tengo miedo que si desp tengo 50 cliente simultaneos conectados, si hago un simple .Send me bloquee a los otros clientes, o algo asi.
-
Hola waldo, ya pasó tiempo de tu mensaje.
Espero te sirva el dato.
La idea sería crear un hilo por cada cliente conectado y así poder realizar un send desde ese hilo. Si bien es bloqueante, sólo bloquea el hilo en el que estás trabajando, ahora si vas a hacer un gran envío estaría bueno que implementes una suerte de ack desde el cliente y poder enviarlos asíncronos a los datos.
Espero me pueda hacer entender.
Enviado desde mi XT1032 mediante Tapatalk
-
Hola Jose, gracias x tu Rta. Es verdad ya paso un tiempo. Buscando diferentes soluciones habia llegado al multithread que comentas, y me pareció lo mas prolijo. Sin tantas vueltas como el async. Gracias
Enviado desde mi XT1068