- 论坛徽章:
- 0
|
如果你之前没有安装Twisted模块,则先安装(包括安装zope.interface模块):
http://www.zope.org/Products/ZopeInterface
http://twistedmatrix.com/trac/
下载最新版本的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()
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/20294/showart_1211976.html |
|