Tengo una aplicación en la que acepto una conexión de socket desde un cliente de telnet y presento una interfaz gráfica de usuario sencilla basada en el teclado.Forzar el cliente de telnet en el modo de caracteres
El cliente de telnet, al menos en Linux, está predeterminado en modo de línea a la vez, por lo que siempre tengo que hacer ^]mode char
manualmente.
Un resumen de los RFC relevantes sugiere que si mi aplicación simplemente envió los caracteres IAC DONT LINEMODE (\377\376\042)
tan pronto como el cliente se conecta, el cliente debe ser forzado al modo de caracteres. Sin embargo, no hace ninguna diferencia.
¿Cuál es el código más simple que haría el trabajo? Idealmente solo una cadena para ser enviada. Mi aplicación puede absorber cualquier basura que el cliente devuelva.
El estado por defecto equivalente a la NVT (la Red Base de terminales virtual) que cada extremo del Telnet se supone que la conexión se comporta como cuando la conexión tiene __everything__ deshabilitado, y nada está habilitado hasta que la opción que un extremo ha ofrecido hacer haya sido acordada con su VOLUNTAD y la respuesta DO del otro extremo y/o la misma opción que ese mismo fin desea otro extremo para hacer ha sido solicitado con su DO y el otro extremo en respuesta. Por supuesto, la opción en una dirección es independiente de la misma opción en la otra dirección, excepto que ECHO es un caso_especial ... – SlySven
... y no está permitido (no recuerdo si es un NO DEBE o un NO DEBE) a ECHO en una dirección si la dirección inversa ya está en modo ECHOing. – SlySven