Sockets para principiantes con .NET/C#: solicitar iconos de escritorio

Estoy desarrollando una pequeña aplicación que se conectará a una máquina remota y devolverá al cliente una lista de los íconos del escritorio remoto.

Actualmente tengo esta funcionalidad trabajando para íconos de escritorio locales.

En teoría, asumiría que tendría que darle al servidor remoto el código que usé para obtener los íconos localmente y luego enviar un comando al servidor para que ejecute dicho método. Luego, devolvería su valor de retorno al cliente para su posterior procesamiento / visualización.

¿Qué tipo de objetos/arquitecturas debo mirar para lograr tal cosa? ¿Tendría un interruptor en el servidor para pasar por varias posibilidades de comando diferentes? ¿No podría esto salirse de control en aplicaciones muy grandes? ¿Cómo enviaría un objeto "Acceso directo" como un flujo de bytes al cliente y luego volvería a crear el "Acceso directo" en el cliente?

preguntado el 22 de mayo de 12 a las 17:05

Parece que necesita sincronizar accesos directos de escritorio entre máquinas (supongo que los archivos/programas a los que apuntan los accesos directos ya se han sincronizado)? Si es así, ¿no puede usar un paquete de sincronización listo para usar en lugar de codificar algo desde cero? -

Este es solo un ejemplo con el que estoy jugando. El objetivo para mí es poder hacer doble clic en los accesos directos devueltos por el servidor y tener el programa asociado abierto en la máquina del servidor, no en el cliente. 1. Solicitar 2. Mostrar accesos directos de usuario 3. Hacer doble clic y enviar mensaje 4. Analizar mensaje. 5. Programa de Lanzamiento. -

ok, ¿qué tal usar un software de control remoto listo para usar en su lugar? Es posible que el protocolo RDP utilizado por Windows Remote Desktop (entre otros) ya haga algo de lo que necesita. -

RDP hace que la sesión actual se cierre una vez que se inicia una sesión remota, lo que no es práctico para mis propósitos. He investigado RDP y Windows Sharing API. -

Mi pregunta es más bien qué tipo de arquitectura se debe usar en .NET/C# para trabajar con una aplicación de tipo cliente/servidor, que puede enviar diferentes tipos de datos además de cadenas. -

1 Respuestas

Implementar la funcionalidad de escritorio remoto no es necesariamente el ejercicio más fácil para aprender a trabajar en red.

Para empezar, puede ser más fácil implementar la redirección de aplicaciones de consola o incluso simple telnet cliente (puede habilitar telnet en algunas versiones de Windows para jugar sin escribir la parte del lado del servidor).

Si desea obtener información sobre cómo se podría implementar el escritorio remoto, considere leer sobre la implementación de Unix. Sistema X Window.

En cuanto a la compatibilidad con la interfaz de usuario gráfica: lea en RDP o lea artículos sobre CoPilot de FogCreek (que implementa casi exactamente lo que desea): Información técnica de CoPilot, o comenzar con la lista Comparación de software de escritorio remoto para encontrar más información.

contestado el 22 de mayo de 12 a las 17:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.