Python網絡編程基礎(5)——服務器端框架

第五部分 服務器端框架

16 SocketServer

1.    基礎

basichttp.py使用BaseHTTPServer 庫的 HTTPServerBaseHTTPRequestHandler建立了一個簡單的服務器,向客戶端返回相同的文檔。響應內容是通過RequestHandlerself.wfile.write(content)實現的。

 

basichttpdoc.py根據RequestHandlerpath屬性返回不同的文檔。

 

basichttpdocthread.py通過混入SocketServer 庫的 ThreadingMixIn使得服務器支持了多線程,從而可以同時響應多個客戶端。

 

simplehttp.py利用SimpleHTTPServer 庫的 SimpleHTTPRequestHandler來建立服務器。服務器會提供當前目錄下的所有文件,並且支持index.html

 

simplehttpthread.py同樣通過混入支持了多線程。

 

cgifork.py使用CGIHTTPServer 庫的 CGIHTTPRequestHandler建立可以調用CGI程序的服務器。

2.    高級

socketserver.py使用 SocketServer 庫的 ThreadingMixIn, TCPServer, StreamRequestHandler來建立非HTTP協議的服務器。通過對StreamRequestHandlerrfile讀取和wfile寫來實現與客戶端的通信。當客戶端連接的時候,StreamRequestHandler子類實例的handle方法將會被調用。

 

ipv6.py通過給服務器(TCPServer)設置address_family = socket.AF_INET6來使服務器兼容IPv6

17 SimpleXMLRPCServer

simple.py建立一個XML-RPC服務器並且使用register_instance註冊一個類的方法。建立服務器的過程和普通的Http Server基本一樣。

xmlrpci.py能夠返回方法的介紹。testclient.py可以交互地訪問服務器。

 

func.py使用register_function直接註冊一個方法。

 

stat.py使用了類的繼承,主要是爲了說明繼承而來的方法一樣可以採用XML-RPC調用。

 

doc.py使用DocXMLRPCServer代替SimpleXMLRPCServer建立服務器,使得可以使用瀏覽器訪問服務器,獲得方法的描述。

 

cgi.py使用CGIXMLRPCRequestHandlerCGI轉化爲XML-RPC服務。

18 CGI

越過。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章