EDITAR: Se cambió el ejemplo principal de Zork Dungeon al shell predeterminado del sistema operativo.
Tengo una aplicación de consola que se ejecuta en una máquina moderna. También tengo un Apple // e con una tarjeta Super Serial, que le permite funcionar como un terminal tonto a través de una conexión COM en serie (los detalles no sirven para nada más que eso). Puedo conectar estos dos dispositivos bien usando un puerto serial USB.
Cuando la máquina moderna ha arrancado Linux, al configurar los ajustes de COM y darme derechos al grupo al que pertenece el archivo del dispositivo, puedo ejecutar
$ bash </dev/ttyUSB1 >/dev/ttyUSB1 2>/dev/ttyUSB1
y obtenga una sesión de bash en Apple: la máquina Linux actúa como servidor y ejecuta el programa, pero la entrada y la salida van a Apple, que es un cliente simple. Esto también funciona con programas más dedicados, tales como dungeon
(Zork).
¿Cómo hago lo mismo en Windows? Obviamente, no puedo replicar la solución anterior exactamente porque Windows solo me permite tener una COM
puerto abierto en un lugar a la vez, ejecutando el análogo de Windows del comando anterior,
C:\> cmd <COM4 >COM4 2>COM4
me da un error de Acceso Denegado
Puedo enviar datos al puerto COM:
C:\> echo "Hello" >COM4
y lea la entrada sin procesar (incluidos los caracteres de control y escape) desde el puerto COM:
C:\> type <COM4
pero no puedo hacer ambas cosas al mismo tiempo, en el mismo proceso o en procesos separados.
Intenté usar PuTTY y RealTerm, pero ambos solo me permiten operar Apple desde la máquina de Windows, lo que prueba que la conexión funciona pero es exactamente la dirección opuesta a la que quiero. ¿Cómo puedo alojar una aplicación de consola de Windows para acceder desde un terminal conectado?