Visual CSharp .NET - SSL con SocketAsyncEventArgs?

 
Vista:

SSL con SocketAsyncEventArgs?

Publicado por JC (1 intervención) el 07/10/2010 12:11:40
Hola,

Estoy desarrollando un aplicación servidor TCP/IP en C# .NET utilizando el modelo asincrónico que proporciona la clase SocketAsyncEventArgs (ya que debe tener un alto rendimiento y poder procesar un elevado número de conexiones en un instante dado). El siguiente paso es dotar de seguridad a las comunicaciones entre los clientes y el servidor, para lo cual estoy pensando en
utilizar SSL.

¿Hay alguna forma de usar SSL con el modelo proporcionado por SocketAsyncEventArgs? Sé que existen otras técnicas (p.ej. con el uso de la clase SslStream), pero necesito mantener el modelo de alto rendimiento del servidor.

¿Se podría añadir SSL en un nivel superior a la aplicación servidor, para que el código de ésta fuera independiente?

Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SSL con SocketAsyncEventArgs?

Publicado por Oscar Soriano (1 intervención) el 20/10/2010 17:10:14
Buen Día,

Estoy desarrollando una aplicación similar, pero al parecer no hay soporte de fabrica para esto. Yo estoy tratando de implementar el NegotiateStream, que al igual que SSLStream se heredan de AuthenticatedStream. Para ambos, se necesita que ya exista un socket abierto. Y creo que SocketAsyncEventArgs no expone los sockets conectados; los que veo son AcceptSocket y ConnectedSocket, pero cuando se llama la función que procesa el Async ya no estan conectados.

En la sexta respuesta de este post: http://stackoverflow.com/questions/869744/How-to-write-a-scalable-Tcp-Ip-based-server, el explica que lo ha hecho en varias implementaciones, pero no comparte, jejeje.

Cai a este post buscando las posible opciones que puedan existir, pero creo que tendré que irme a implementar por el TCPListener o alguna clase similar para poder tener el networkstream con el que los AuthenticatedStream operan.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar