异步、单线程、基于轮询的telnet服务器
miniboa的Python项目详细描述
miniboa:一个简单的telnet服务器
什么?
miniboa是一个简单的telnet服务器,用作mud或类似交互服务器的基础。miniboa对于这类应用程序有几个很好的特性。
功能
- 异步-不等待播放器输入或状态。
- 单线程-具有优异性能的轻量级资源。
- 在游戏循环下运行-决定何时轮询数据。
- 在Linux下支持1000个用户,在Windows下支持512个用户(未测试)。
- miniboa与python 2.7和3.x都兼容
快速启动
第一个:
pip install miniboa
然后:
fromminiboaimportTelnetServerserver=TelnetServer()whileTrue:server.poll()
但您可能想对连接/断开连接的客户端做些什么:
clients=[]defon_connect(client):client.send("Hello, my friend. Stay awhile and listen.")clients.append(client)defon_disconnect(client):clients.remove(client)server=TelnetServer(port=3333,address='',on_connect=on_connect,on_disconnect=on_disconnect)whileTrue:server.poll()
要使用miniboa,需要创建一个telnet服务器对象,在指定的端口号侦听。您必须为服务器提供两个功能:第一个是新连接的处理程序,第二个是丢失连接的处理程序。这些处理函数是传递给telnet客户端对象的,它们是您与单个播放器的mud客户端之间的通信路径。
例如,假设mike和joe连接到您的mud服务器。telnet服务器将使用mike的telnet客户端对象调用on_connect()函数,然后再次使用joe的telnet客户端对象。如果mike的电源中断,telnet服务器将使用mike的telnet客户端对象(同样的对象)调用on_disconnect()函数。
这将启动在默认端口上侦听的服务器,该端口接受telnet连接并发送简单消息。
$ telnet localhost 7777 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Hello, my friend. Stay awhile and listen.
进一步的文档可以是found here。
版权所有
Copyright 2009 Jim Storch Copyright 2015 Carey Metcalfe Copyright 2016 Joseph Schilz Copyright 2018 Jared Miller