Hey que tal a todos, espero y alguien me pueda orientar un poco, weno, a lo que vamos.
Actualmente tengo que desarrollar una aplicacion que trabaje de la misma forma como lo hace el Outlook de Microsoft, es decir, una aplicacion de envio y recepcion de mensajes desarrollado en .Net, mas especifico en c#, y para ello lo mas logico es el uso de Sockets en dicha aplicacion.
La verdad es que jamas los habia utilizado, y ahora he tratado de documentarme un poco al respecto, sin embargo, dentro de tanta investigacion, me encontre que existen 3 maneras de hacerlo (weno, al menos esas son las que encontre, desconozco si existen mas), ya sea mediante el uso del componente WinSock, utilizando Threads o con Funciones Asincronas, ahora mi duda es, cual manera seria la mas correcta?, winsock permite una cantidad un poco mayor de 35000 clientes conectados al servidor, los threads me permitirian gestionar multiples accesos y peticiones de usuario al servidor, mejorando el tiempo de ejecucion y por tanto los recursos del servidor, y lo mismo pasa con las funciones asincronas, dichas funciones tambien emplean threads, aunque a nivel del SO, asi que, que es lo que debo de utilizar?
Obviamente la aplicacion estara ejecutandose siempre, por lo tanto el rendimiento debe de ser estable y no consumir demasiados recursos, ademas de que debe atender de manera correcta y puntual las peticiones de cada cliente, estas son mis premisas, dicho esto, que es lo que me recomiendan usar de acuerdo a su experiencia?
estoy abierto a cualquiera de sus comentarios, me gustaria me explicaran las diferencias entre cada una de estas formas, para asi tener un bosquejo mas general, conocer mas las caracteristicas y las potencialidades que cada una de estas herramientas ofrecen, y optar por la opcion mas estable.
de antemano gracias, y estare en espera de sus comentarios, Ciao!