python網絡編程之 創建一個socketserverTCP服務器


 1 #encoding=utf-8
 2 #創建一個socketserverTCP服務器
 3 #高級模塊,簡化客戶和服務器的實現
 4 from SocketServer import (TCPServer as TCP,StreamRequestHandler as SRH)
 5 from time import ctime
 6 
 7 host = ''
 8 port = 21567
 9 addr = (host,port)
10 
11 #從 SocketServer 的 StreamRequestHandler 類中派生出一個子類
12 class MyRequestHandler(ARH):
13   def handel(self):
14     print 'connected from ',self.client_address
15     self.wfile.write('[%s] %s ' % (ctime(),self.rfile.readline()))
16   #用 readline()函數得到客戶消息,用 write()函數把字符串發給客戶。
17 
18 tcpServ = TCP(addr,MyRequestHandler)
19 print 'waiting for connection'
20 tcpServ.serve_forever()

 



 

 1 #encoding=utf-8
 2 # 是一個時間戳 TCP 客戶端,它知道如何與 SocketServer 里 StreamRequestHandler 對象進行
 3 # 通訊。
 4 from socket import *
 5 
 6 host = 'localhost'
 7 port = 21567
 8 bufsiz = 1024
 9 addr = (host,port)
10 
11 while True:
12     tcpClientSock = socket(AF_INET,SOCK_STREAM)
13     tcpClientSock.connect(addr)
14     data = raw_input('>')
15     if not data:
16         break
17     tcpClientSock.send('%s\r\n' % data)
18 #     我們可以用 readline()函數得到客戶消息,用 write()函數把字
19 # 符串發給客戶。
20 # 為了保持一致性,我們要在客戶與服務器兩端的代碼里都加上回車與換行。實際上,你在代碼
21 # 中看不到這個,因為,我們重用了客戶傳過來的回車與換行。
22     data = tcpClientSock.recv(bufsiz)
23     if not data:
24         break
25     print data.strip()
26 
27 tcpClientSock.close()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM