异步、单线程、基于轮询的telnet服务器

miniboa的Python项目详细描述


miniboa:一个简单的telnet服务器

build statusdownloads

什么?

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Grails2.1.0/Java7在Windows8.1上从何处获取当前用户名?   JavaSpringJMSActiveMQ   java异常处理,捕获导致while循环停止   sql server 2008将日期时间解析为JAVA日期   java是第一个servlet,但无法打开它   如何在Java中使用XML bean创建典型的XML头?   java将iOs应用程序转换为Android   java将jsp页面内容读取到其他jsp页面中的html   客户端计算机中小型数据库应用程序的java实现   java同步和ServletContextListener   安卓 Java将所有转义字符替换为双转义   当我在布局单元中实现ScrollView时,java GridView的setOnItemLongClickListener不起作用(使用适配器)   禁用Java web服务端点Wsdl   java如何编写一个程序来反转用户输入的数字