Pregunta

Estoy buscando iniciar una aplicación cliente MUD , que se conecta a un MUD alojado en un servidor telnet. Lo único importante para mí es que se ejecuta sin problemas y de manera eficiente en cualquier sistema operativo. Aparte de ese requisito, no estoy realmente vendido en ningún idioma.

Por lo tanto, estoy buscando una biblioteca de cliente telnet disponible gratuitamente en la que pueda basar mi aplicación, para no tener que ocuparme demasiado de los detalles del protocolo.

¿Fue útil?

Solución

Siempre consideraría Twisted para este tipo de cosas (Python).

Lo bueno es que si luego decides cambiarlo a SSH o algo más seguro que telnet, puedes hacerlo con poco dolor.

Otros consejos

¡Torcido, retorcido, retorcido!

Para usar telnet, consulte el paquete twisted.conch.telnet . Tiene algunos documentos de API espartanos, pero el verdadero la información sobre su uso proviene de buscando en Google Code Search , como esta pepita de grailmud : un servidor MUD.

Para toda mi programación MUD, acabo de crear mis propias rutinas desde cero utilizando los RFC.

En caso de que desee evitar algo de mi dolor, lo envolví en una clase de C # bastante simple que maneja Telnet correctamente. En caso de que desee examinarlo, puede verlo aquí .

Este código se ha copiado / pegado y se ejecuta en Windows y Linux (a través de Mono) en un puñado de proyectos separados y funciona bastante bien.

Hay una interfaz telnet en CPAN si te gusta Perl. Es bastante mínimo, pero debería hacer el trabajo.

[editar] libcurl también se supone que puede hacer telnet, aunque no pude encontrar ningún ejemplo de ello.

pmc ( http://sourceforge.net/projects/perlmudclient/ ) fue un intento para hacer exactamente esto Pasé parte de la última semana revisándolo; utiliza una versión modificada anterior de Net :: Telnet para hacer su trabajo de conectividad.

Mi problema es que Net :: Telnet parece tener una interfaz de bloqueo cuando el servidor envía una línea parcial, es decir, una línea no terminada por una nueva línea. Tiene dos características que lo admiten (waitfor y su mecanismo de solicitud), porque casi todos los servidores telnet tienen mensajes que no están terminados en línea.

Los MUD a menudo tienen "indicaciones" que no son estándar y varían a lo largo del juego; el MUD que administro tiene un " Su elección: " como inicio de sesión [no es solo para nombres de usuario], y muchas características del juego presentan indicaciones alternativas. ¡Así que sospecho que tendrá que tener esto en cuenta cuando busque una biblioteca Telnet multiplataforma!

Si te gusta C, te recomiendo libtelnet . Mantendrá un estado interno que analizará la secuencia de IAC por usted y gestionará la negociación de opciones utilizando Método Q .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top