如果你之前没有安装Twisted模块,则先安装(包括安装zope.interface模块):
下载最新版本的tar包,然后安装
安装方法很简单,都是:
1. 解压缩
2. python setup.py build
3. python setup.py install
- [root@lvdbing python]# cat twistedchatserver.py
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- # vim: set ai cindent et sw=4 ts=4 nowrap foldmethod=marker:
- from twisted.internet.protocol import Factory
- from twisted.protocols.basic import LineOnlyReceiver
- from twisted.internet import reactor
- class Chat(LineOnlyReceiver):
- def lineReceived(self, data):
- self.factory.sendAll("%s: %s" % (self.getId(), data))
- def getId(self):
- return str(self.transport.getPeer())
- def connectionMade(self):
- print "New connection from", self.getId()
- self.transport.write("Welcome to the chat server, %s\n" % self.getId())
- self.factory.addClient(self)
- def connectionLost(self, reason):
- self.factory.delClient(self)
- class ChatFactory(Factory):
- protocol = Chat
- def __init__(self):
- self.clients = []
- def addClient(self, newclient):
- self.clients.append(newclient)
- def delClient(self, client):
- self.clients.remove(client)
- def sendAll(self, message):
- for proto in self.clients:
- proto.transport.write(message + "\n")
- reactor.listenTCP(51423, ChatFactory())
- reactor.run()
阅读(1484) | 评论(0) | 转发(0) |