Lo hice hace un par de años. El depurador de scripts se escribió en C# y se ejecutó en PC; El tiempo de ejecución de scripts se escribió en C++ y se ejecutó en todo lo que admitíamos en ese momento: PC, PS3, Xbox360, Wii, DS, PSP y PS2.
Sea cual sea su objetivo, le recomiendo poner algún tipo de capa para que el depurador y el tiempo de ejecución estén aislados del protocolo subyacente. ¡Mantén las llamadas API donde puedes vigilarlos! Esto // deja sus opciones abiertas, y (si se hace bien) simplifica el código en ambos extremos. Algún tipo de sistema basado en paquetes, con paquetes de 1K o menos, se correlaciona tolerablemente con casi cualquier cosa. (La transmisión de> 1K se puede lograr en un nivel superior, utilizando solo la API pública).
Si solo está orientando su PC, recomiendo TCP/IP. Es transparente para la red, todo el mundo está familiarizado con sus direcciones IP y puertos, no es más difícil usar API que con nombre.
Para un título de próxima generación, si desea lograr un buen equilibrio entre la compatibilidad multiplataforma y la facilidad de codificación, TCP/IP sigue siendo el camino a seguir. Funciona en PC, Xbox360 y PS3.
(En cuanto a los conductos con nombre, Target Manager de SN le proporcionará soporte de canalización para PS3 y PS2, según recuerdo, y va a través del puerto dev LAN en lugar del puerto LAN del juego, pero Xbox360 no lo admite en todo. Así que valdría la pena apoyarlo, y es su única opción en PSP, si no recuerdo mal, pero no es una panacea universal.
Personalmente, me detuve después de implementar el soporte TCP/IP, y Estoy contento de haberlo hecho. Como resumen, el Wii y el DS son horribles, pero de diferentes maneras, y a diferencia de cualquier otra cosa. La PSP solo admite canalizaciones con nombre, por algún motivo desconocido. La PS3 y la PS2 son compatibles con TCP/IP. pero solo a través del puerto LAN del juego. (El puerto dev del LAN funciona de manera diferente. No lo use. Pídale a su productor más cables de red y guarde su sanit y.) Xbox360 admite TCP/IP, pero solo si está utilizando las bibliotecas de depuración y solo a través de la IP del juego. (La IP de depuración funciona de manera diferente. No la use.)
En resumen, haga lo que haga, necesitará esa capa aislante.
Las tuberías con nombre funcionan en XP, y en .NET 2 (a través de PInvoke), por lo que siempre son una buena opción. –
Y, demonios, también en Unix, ya que nadie lo menciona. –
¿No puede llevar esto un paso más allá y, en la implementación de C#, implementar esto con WCF utilizando conductos con nombre? – Jaxidian