国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python基于socketserver實現并發,驗證客戶端的合法性

瀏覽:5日期:2022-06-19 14:56:28
目錄一、socketserver實現并發二、驗證客戶端合法性一、socketserver實現并發

tcp協議的socket是只能和一個客戶端通信的,使用socketserver可以實現和多個客戶端通信,他是在socket的基礎上進行的封裝,底層還是調用的socket。

socket是底層模塊

socketserver是基于socket完成的

socketserver代碼格式:

服務端:

import socketserver # 引入模塊import time​​# 類名隨便定義,但是必須繼承socketserver.BaseRequestHandler此類。class Myserver(socketserver.BaseRequestHandler):​ def handle(self): # handle方法,固定名字conn = self.request # conn相當于每個客戶端連接過來的,客戶端信息’’’以下就是基于conn客戶端信息,對每個客戶端鏈接到服務端必須做的操作conn——>等于客戶端的連接信息以此實現并發連接’’’while True: try:content = conn.recv(1024).decode(’utf-8’)conn.send(content.upper().encode(’utf-8’))time.sleep(1) except ConnectionResetError:break​​# 對 socketserver.ThreadingTCPServer 類實例化對象,將IP地址,端口號,以及自己定義的類名傳入,并返回一個對象server = socketserver.ThreadingTCPServer((’127.0.0.1’, 4444), Myserver)server.serve_forever() # 執行對象server_forever方法,開啟服務端

客戶端:

import socket​sk = socket.socket()sk.connect((’127.0.0.1’, 4444))​while True: sk.send(b’heelo’) content = sk.recv(1024).decode(’utf-8’) print(content)二、驗證客戶端合法性

在分布式系統中實現一個簡單的客戶端鏈接認證功能,又不像SSL那么復雜,那么利用hmac+加鹽的方法實現。

思路:

服務端發送隨機字符串(并用客戶端和服務端都知道的秘鑰對隨機字符串進行加密)——>客戶端接收到服務端發送的隨機字符串(并用相同的秘鑰進行加密發送回服務端)——>服務端接收到客戶端發送的加密字符串和自己加密的字符串做對比(如果一致,就是合法客戶端,不一致,就立即關閉)

使用hashlib方法:

服務端

import socketimport hashlibimport os​# 設置雙方都擁有的秘鑰secret = ’秘鑰’.encode(’utf-8’)​sk = socket.socket()sk.bind((’127.0.0.1’, 4444))​sk.listen()conn, _ = sk.accept()​# 給服務端發送32位隨機字節串count = os.urandom(32)conn.send(count)​# 并對字節串進行加鹽加密hs = hashlib.sha1(secret)hs.update(count)info_server = hs.hexdigest()​# 接收客戶端發送的對字節串加密后的信息info_client = conn.recv(1024).decode(’utf-8’)​# 客戶端加密后的信息和服務端加密后的信息做對比if info_server == info_client: # 相等則連接合法,繼續操作 print(’合法連接’)else: # 不相等則斷開鏈接 print(’非合法用戶’) conn.close()

客戶端

import socketimport hashlib​# 雙方共有的秘鑰secret = ’秘鑰’.encode(’utf-8’)​sk = socket.socket()sk.connect((’127.0.0.1’, 4444))​# 接收服務端發送的隨機字節count = sk.recv(1024)​# 對隨機字節進行加密hs = hashlib.sha1(secret)hs.update(count)info = hs.hexdigest().encode(’utf-8’)​# 把加密后的字節發送回服務端做判斷sk.send(info)

以上就是python基于socketserver實現并發,驗證客戶端的合法性的詳細內容,更多關于python socketserver實現并發的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 高清一区在线 | 亚洲高清免费观看 | 一本色道久久88 | 欧美日韩在线观看视频 | 日韩一区国产二区欧美三 | 99久久免费国产香蕉麻豆 | 免费国产成人高清在线观看不卡 | 国产欧美日韩精品第一区 | 久久亚洲国产精品五月天 | 成人国产一区二区 | 自拍偷在线精品自拍偷无码专区 | 国产精品久久久久久久hd | 免费在线观看一级毛片 | 在线黄网 | 美女国产在线观看免费观看 | 毛片免费视频 | 亚洲乱人伦精品图片 | 国产一区二区精品在线观看 | 成人免费大片a毛片 | 国产大片在线观看 | 中文字幕一区二区三区久久网站 | 一级女性黄 色生活片 | 国产一有一级毛片视频 | 国产精品合集久久久久青苹果 | 久久一本综合 | 久草精彩视频 | 国产一级一片免费播放刺激 | 久久毛片网站 | 手机看片日韩高清国产欧美 | 亚洲自拍在线观看 | 久久免费视频观看 | 国产综合精品久久久久成人影 | 在线免费观看一区二区三区 | 一级做a爰片久久毛片 | 欧美大片欧美毛片大片 | 日韩三级在线免费观看 | 欧美国产伦久久久久 | 中文字幕一区视频一线 | 国产在线一区在线视频 | 在线精品免费视频 | 美女网站在线 |