今天要测试客户端软件,身边没有服务器端,没办法,写了一个服务器的小脚本,用来测试客户端的正确性,发现比用Python的Socket模块
还是方便了许多
.#coding:gb2312
"""The most basic chat protocol possible.
run me with twistd -y chatserver.py, and then connect with multiple
telnet clients to port 1025
"""
from twisted.protocols import basic
class MyChat(basic.LineReceiver):
def connectionMade(self):
self.Stat='AUTHA'
print "Got new client!"
self.message("""
欢迎登录\r""")
self.factory.clients.append(self)
def connectionLost(self, reason):
print "Lost a client!"
self.factory.clients.remove(self)
def lineReceived(self, line):
s=repr(line)
print "received+["+s+"]STAT:"+ self.Stat
if self.Stat=='AUTHA':
print '操作员:'
self.message('\n\r操作员:')
self.Stat='AUTH'
elif self.Stat=='AUTH':
print '请输入口令:'
self.message('\n\r请输入口令:')
self.Stat='PASS'
elif self.Stat=='PASS':
print 'MML>'
self.message('\n\rMML>')
self.Stat='DATA'
elif self.Stat=='DATA':
if s=="'quit'":
print 'Good bye!'
self.loseConnection()
else:
self.message('\n\r指令执行成功\n\rMML>')
def message(self, message):
self.transport.write(message)
from twisted.internet import protocol
from twisted.application import service, internet
factory = protocol.ServerFactory()
factory.protocol = MyChat
factory.clients = []
application = service.Application("chatserver")
internet.TCPServer(2026, factory).setServiceParent(application)
分享到:
相关推荐
Twisted是用Python实现的基于事件驱动的网络引擎框架。Twisted诞生于2000年初,在当时的网络游戏开发者看来,无论他们使用哪种语言,手中都鲜有可兼顾扩展性及跨平台的网络库。Twisted的作者试图在当时现有的环境下...
这种灵活的代价是需要好通过好几个层次来实现你的服务器, 本文档描述的是Protocol层,你将在这个层次中执行协议的分析和处理,如果你正在执行一个应用程序,那么你应该在读过top level的为twisted写插件一节中的...
twisted是一个用python语言写的事件驱动的网络框架,他支持很多种协议,包括UDP,TCP,TLS和其他应用层协议,比如HTTP,SMTP,NNTM,IRC,XMPP/Jabber。 非常好的一点是twisted实现和很多应用层的协议,开发人员可以...
尽管Twisted大多数情况下用来写服务器代码,但为了一开始尽量从简单处着手,我们首先从简单的客户端讲起。 让我们来试试使用Twisted的客户端。源码在twisted-client-1/get-poetry.py。首先像前面一样要开启三个...
Twisted是用于Internet应用程序的基于事件的框架,支持Python 2.7和Python 3.5+。它包括用于许多不同目的的模块,其中包括: twisted.web:HTTP客户端和服务器,HTML模板和WSGI服务器 twisted.conch:SSHv2和...
还包括一组可从命令行使用的LDAP实用程序。 详细文档可以在上。 快速用法示例 from twisted . internet import reactor , defer from ldaptor . protocols . ldap import ldapclient , ldapsyntax , ldapconnector...
安装您可以像这样在您的python虚拟环境中安装twistedcat: $ pip install git+https://github.com/david415/twistedcat.git用法命令行用法摘要: usage: nocat [-h] [-c CLIENT] [-s SERVER]twistedcat - proxy ...
Twisted是用Python实现的基于事件驱动的网络引擎框架。Twisted诞生于2000年初,在当时的网络游戏开发者看来,无论他们使用哪种语言,手中都鲜有可兼顾扩展性及跨平台的网络库。Twisted的作者试图在当时现有的环境下...
Twisted是用Python实现的基于事件驱动的网络引擎框架。Twisted诞生于2000年初,在当时的网络游戏开发者看来,无论他们使用哪种语言,手中都鲜有可兼顾扩展性及跨平台的网络库。Twisted的作者试图在当时现有的环境下...
内容简介 本书是经典的Python指导书,在第一版的基础上进行了全面升级。全书分为两个部分:第1部分占据了大约三分之二的篇幅,阐释这门语言的“核心”内容,... 23.3 用Jython写Python和Java的程序 23.4 练习
3.6 第一个Python程序 3.7 相关模块和开发工具 3.8 练习 第4章 Python对象 4.1 Python 对象 4.2 标准类型 4.3 其他内建类型 4.3.1 类型对象和type类型对象 4.3.2 None--...
和服务器一样,也是通过该类来实现。先看一个简短的例程: from twisted.internet.protocol import Protocol from sys import stdout class Echo(Protocol): def dataReceived(self, data): stdout.write(data...
我已经用Twisted框架几年了,因此思考过我当初是怎么学习它(学得很慢)并发现学习它的最大难度并不在Twisted本身,而在于对其模型的理解,只有理解了这个模型,你才能更好去写和理解异步程序的代码。大部分Twisted的代
抓取dht网络的磁力链接,使用 libtorrent 的python绑定库开发。 collectord.py dht爬虫服务监控程序 启动并监控dht爬虫进程,在爬虫进程退出后重启启动爬虫,使用 twisted 开发。 安装和使用方法 运行环境 运行...
抓取dht网络的磁力链接,使用 libtorrent 的python绑定库开发 collectord.py dht爬虫服务监控程序 启动并监控dht爬虫进程,在爬虫进程退出后重启启动爬虫,使用 twisted 开发 安装和使用方法 运行环境 运行的机器...
3.6 第一个Python程序 3.7 相关模块和开发工具 3.8 练习 第4章 Python对象 4.1 Pythonc对象 4.2 标准类型 4.3 其他内建类型 4.3.1 类型对象和type类型对象 4.3.2 None--...
篝火在没有吉普赛爵士乐的祝福的情况下继续进行,但他的早晨归来却是一个令人恐惧的左撇子角色-熟悉但扭曲(.py) v3.4.0 一个Python Web服务器,使异步和非常规网络流量变得容易,有趣和快速。概述hendrix是用于处理...
创建数据库,Django默认使用sqlite3作为数据库,如果需要mysql数据库,请在greaterwms/settings.py里面配置DATABASE 开发服务器运行: 开发运行: daphne -p 8008 greaterwms.asgi:application daphne -p 8008 ...
Twisted Matrix 是一种越来越受欢迎的纯 Python 框架,用来进行网络服务和应用程序的编程。虽然 Twisted Matrix 中有大量松散耦合的模块化组件,但该框架的中心概念还是非阻塞异步服务器这一思想。在本文中,David ...