python socketserver處理客戶端的流程

wyfem發表於2021-09-11

python socketserver處理客戶端的流程

流程

1、處理多個客戶端,初始化ThreadingTCPServer例項。

2、設定繫結的IP地址和埠和處理類。

3、使用StreamRequestHandler。

(使用流程的請求處理程式類似於file-like物件,提供標準檔案介面簡化通訊過程),重寫中的handle方法,獲取請求資料,將資料返回客戶端

例項

from socketserver import BaseRequestHandler, TCPServer
 
class EchoHandler(BaseRequestHandler):
    def handle(self):
        print("Got Connection From: %s" % str(self.client_address))
        while True:
            msg = self.request.recv(8192)
            if not msg:
                break
            self.request.send(msg)
 
if __name__ == "__main__":
    server = TCPServer(("", 5000), EchoHandler)
server.serve_forever()
from socketserver import StreamRequestHandler, TCPServer, ThreadingTCPServer
import time
 
class EchoHandler(StreamRequestHandler):
    def handle(self):
        print("Got Connection Address: %s" % str(self.client_address))
        for line in self.rfile:
            print(line)
            self.wfile.write(bytes("hello {}".format(line.decode('utf-8')).encode('utf-8')))
 
if __name__ == "__main__":
    serv = ThreadingTCPServer(("", 5000), EchoHandler)
    serv.serve_forever()

以上就是python socketserver處理客戶端的流程,希望對大家有所幫助。更多Python學習指路:

本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2894/viewspace-2829700/,如需轉載,請註明出處,否則將追究法律責任。

相關文章