久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

python socket 如何接收tcp/ip byte 格式的數(shù)據(jù)?

瀏覽:102日期:2022-06-30 18:48:58

問題描述

python socket 如何接收tcp/ip byte 格式的數(shù)據(jù)?下面的只能接收明文

import socketserver # 導(dǎo)入socketserver模塊class MyServer(socketserver.BaseRequestHandler): # 創(chuàng)建一個類,繼承自socketserver模塊下的BaseRequestHandler類 def handle(self): # 要想實現(xiàn)并發(fā)效果必須重寫父類中的handler方法,在此方法中實現(xiàn)服務(wù)端的邏輯代碼(不用再寫連接準(zhǔn)備,包括bind()、listen()、accept()方法)while 1: conn = self.request addr = self.client_address # 上面兩行代碼,等于 conn,addr = socket.accept(),只不過在socketserver模塊中已經(jīng)替我們包裝好了,還替我們包裝了包括bind()、listen()、accept()方法 while 1:accept_data = conn.recv(1024)#accept_data = int(’0x4’,16)print(accept_data)if accept_data == 'byebye': breaksend_data = bytes(input('>>>>>'))conn.sendall(send_data) conn.close()if __name__ == ’__main__’: sever = socketserver.ThreadingTCPServer(('192.168.0.110', 10001), MyServer) # 傳入 端口地址 和 我們新建的繼承自socketserver模塊下的BaseRequestHandler類 實例化對象 sever.serve_forever() # 通過調(diào)用對象的serve_forever()方法來激活服務(wù)端

問題解答

回答1:

如果你的python3, conn.recv() 返回數(shù)據(jù)就是 bytes,decode一下就是str類型。或者使用bytes比較。

if accept_data == b'byebye': break

處理 accept_date數(shù)據(jù)的時候,decode即可,如果服務(wù)器返回的utf-8編碼的,只需要accep_data.decode(’utf-8’)

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 曲周县| 哈尔滨市| 卓尼县| 成武县| 吉木萨尔县| 台前县| 宜兴市| 田阳县| 玛曲县| 乌什县| 金寨县| 水城县| 建德市| 武汉市| 确山县| 手游| 怀宁县| 昌江| 永兴县| 房产| 灵武市| 安福县| 游戏| 云阳县| 诸暨市| 北碚区| 荆门市| 博客| 松阳县| 丹东市| 织金县| 保山市| 辰溪县| 无极县| 晴隆县| 那曲县| 阜平县| 金昌市| 宁晋县| 定日县| 南陵县|