Chinaunix首页 | 论坛 | 博客
  • 博客访问: 232711
  • 博文数量: 39
  • 博客积分: 420
  • 博客等级: 下士
  • 技术积分: 457
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-01 10:22
文章分类

全部博文(39)

文章存档

2015年(15)

2014年(11)

2013年(1)

2012年(2)

2011年(1)

2010年(9)

我的朋友

分类: Python/Ruby

2014-05-02 15:22:27

一、服务端使用了Protocol和LineReceiver方式,代码如下:

点击(此处)折叠或打开

  1. #coding=utf-8
  2. from twisted.internet import reactor
  3. from twisted.internet.protocol import Protocol,Factory
  4. from twisted.protocols.basic import LineReceiver

  5. class SimpleLogger(Protocol):
  6.     def connectionMade(self):
  7.         print u'客户端的IP和端口号为:',self.transport.client
  8.         
  9.     def connectionLost(self,reason):
  10.         print self.transport.client,u'客户端断开'
  11.     
  12.     def dataReceived(self,data):
  13.         print str(data)
  14.         self.transport.write('Client how are you')

  15. class SimpleLoggerLineRece(LineReceiver):
  16.     def connectionMade(self):
  17.         print u'客户端的IP和端口号为:',self.transport.client
  18.     
  19.     def connectionLost(self,reason):
  20.         print self.transport.client,u'客户端断开'
  21.         
  22.     def lineReceived(self,line):
  23.         print 'line'
  24.         print line
  25.         
  26.     def dataReceived(self,data):
  27.         print str(data)
  28.         self.transport.write('Client how are you')
  29.         
  30.     def rawDataReceived(self,data):
  31.         print 'rawData'
  32.         print data
  33.         
  34.     def sendLine(self,line):
  35.         self.transport.write('Client how are you')


  36. factory=Factory()
  37. #factory.protocol=SimpleLogger
  38. factory.protocol=SimpleLoggerLineRece

  39. reactor.listenTCP(1234,factory)
  40. reactor.run()
二、客户端代码只是简单的用python自带的socket实现发送和接收的,代码如下:


点击(此处)折叠或打开

  1. #coding=utf-8
  2. import socket
  3. s=socket.socket()
  4. host="127.0.0.1"
  5. port=1234
  6. s.connect((host,port))
  7. s.send('Server how are you')
  8. print s.recv(1024)
  9. s.close()

阅读(1902) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~