今天就跟大家聊聊有關(guān)怎么在python中利用socketserver處理客戶端,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)建站主營岱岳網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),岱岳h5微信小程序開發(fā)搭建,岱岳網(wǎng)站營銷推廣歡迎岱岳等地區(qū)企業(yè)咨詢
1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對(duì)代碼格式的要求沒有那么嚴(yán)格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺(tái)上使用;3、Python面向?qū)ο?,能夠支持面向過程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序;5、Python功能強(qiáng)大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。
1、流程
(1)處理多個(gè)客戶端,初始化ThreadingTCPServer實(shí)例
(2)設(shè)置綁定的IP地址和端口和處理類
(3)使用StreamRequestHandler(使用流程的請(qǐng)求處理程序類似于file-like對(duì)象,提供標(biāo)準(zhǔn)文件接口簡化通信過程),重寫中的handle方法,獲取請(qǐng)求數(shù)據(jù),將數(shù)據(jù)返回客戶端
2、實(shí)例
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()
看完上述內(nèi)容,你們對(duì)怎么在python中利用socketserver處理客戶端有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。