跨OS OS Telnet客户端的Telnet lib和语言选择?
我正在寻找启动一个MUD client应用程序,它连接到托管在telnet服务器上的MUD。唯一对我很重要的是它可以在任何操作系统上轻松高效地运行。除了这个要求,我并不是真的以任何语言出售。跨OS OS Telnet客户端的Telnet lib和语言选择?
所以我正在寻找一个可以免费使用的telnet客户端库,我可以在其中为我的应用程序提供基础,因此我不必处理协议的详细信息。
对于我所有的MUD编程,我都是从头开始使用RFC创建自己的例程。
如果你想避免我的一些痛苦,我将它包装成一个相当简单的C#类,它可以正确处理Telnet。如果你想仔细阅读,你可以查看它here。
此代码已被复制/粘贴并运行在Windows和Linux上(通过Mono)在几个独立的项目上,并且工作非常好。
扭曲,扭曲,扭曲!
要使用telnet,请参阅包twisted.conch.telnet
。它有一些斯巴达API docs,但使用它的真实信息来自searching on Google Code Search,如this nugget从grailmud - 一个MUD服务器。
pmc(http://sourceforge.net/projects/perlmudclient/)是一个尝试做到这一点。上周我花了一些时间去研究它;它使用Net :: Telnet的较早修改版本来完成其连接工作。
我的问题是,当服务器发送部分行时,Net :: Telnet似乎具有阻止接口,即未被换行符终止的行。它有两个支持此功能的特性(waitfor及其提示机制),因为几乎所有的telnet服务器都有不以换行符终止的提示。
MUD经常有非标准的“提示”,并且在游戏过程中有所不同;我管理的MUD有一个“你的选择:”提示作为它的登录名[它不仅仅是用户名],许多游戏功能提供了替代提示。所以我怀疑你在寻找跨平台的Telnet库时需要记住这一点!
我真的找不到任何使用Twisted使用Telnet的好例子,对吗? – Ray 2008-11-26 19:37:01
这就像使用任何其他扭曲的“协议”。你将不得不看例子页面:http:// twistedmatrix。COM /项目/核心/文档/ HOWTO/clients.html。您将使用的协议是twisted.conch.telnet.Telnet(不是EchoProtocol)。 – 2008-11-26 19:43:59