亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

python 實現客戶端與服務端的通信

瀏覽:5日期:2022-07-01 13:48:12
函數介紹

Socket對象方法:

服務端:

函數 描述 .bind() 綁定地址關鍵字,AF_INET下以元組的形式表示地址。常用bind((host,port)) .listen() 監聽TCP,可以掛起的最大連接數,該值至少為1,一般設為5即可 .accept() 被動接受TCP客戶端的連接

客戶端:

函數 描述 .connect() 初始化服務器連接 .connect_ex() 是對connect()函數的擴展,當出錯時返回出錯碼,不報異常

其它函數:

函數 描述 .recv() 接收數據,數據以字符串的形式返回,bufsize指定接收的最大數據量。 .send() 發送數據,將string中的數據發送到連接的套接字,返回值是要發送的字節數量,通常使用.encode()函數對數據進行轉碼 .senddall() 發送完整的數據,在返回之前會嘗試發送所有數據,成功返回None,失敗則拋出異常。 .recvfrom() 與recv()函數類似,不同的是返回值是(data,address),其中data是包含接收數據的字符串,address是發送數據的套接字地址。 .sendto() 發送UDP數據,將數據發送到套接字,形式是(ipaddr,port)的元組。 .close() 關閉套接字

服務端

使用socket函數來創建一個socket對象,并設置一個socket服務,然后通過bind(hostname,port)函數來指定一個端口,使用socket對象的accept方法,等待客戶端的連接,并返回connection對象。具體步驟為:

創建服務端套接字serversocket=socket()把地址綁定到套接字serversocket.bind()對連接進行監聽serversocket.listen()使用一個while進行循環,并接收客戶端的連接while True: serverclient=serversocket.accept() while True: #接收已發送 serverclient.recv() serverclient.send() #關閉客戶端套接字 serverclient.close()關閉服務端套接字serversocket.close()具體代碼實現:

import socketimport sysimport timeserversocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)host=socket.gethostname()#獲取本地主機名port=9999#綁定端口號serversocket.bind((host,port))#設置最大連接數serversocket.listen(5)while True: print(’服務器啟動,監聽客戶端鏈接’) clientsocket,addr=serversocket.accept() print(’鏈接地址:%s’ % str(addr)) while True: try: data=clientsocket.recv(1024) except Exception: print(’斷開的客戶端:’,addr) break print(’客戶端發送內容:’,data.decode(’utf-8’)) reply=input(’回復:’).strip() if not reply: break msg=time.strftime(’%Y-%m-%d %X’)#獲取結構化時間戳 msg1=’[%s]:%s’% (msg,reply) clientsocket.send(msg1.encode(’utf-8’)) clientsocket.close()serversocket.closel()

實現功能:通過while實現循環接收客戶端發送的數據,并對客戶端發送的數據進行顯示并返回給客戶端數據,返回給客戶端的數據信息后加入時間戳。

客戶端

創建一個客戶端用來連接以上服務的的服務,使用socket.connect()方法打開一個TCP連接到主機,連接后可以從服務端獲取數據,在操作完成后關閉連接。 具體步驟為: ``` 創建客戶端的套接字 client=socket() 嘗試連接服務器 client.connect() 發送并接收數據 client.send() client.recv() 關閉客戶端套接字 client.close() ``` **具體代碼實現:**

import socketimport syss=socket.socket(socket.AF_INET,socket.SOCK_STREAM)host=socket.gethostname()port=9999s.connect((host,port))while True: data= input(’>>’).strip() if not data: break s.send(data.encode(’utf-8’)) msg=s.recv(1024) if not msg: break print(msg.decode(’utf-8’))s.close()測試

使用cmd命令行中打開到代碼所在文件目錄,執行python 服務端文件名.py,再另打開一個cmd命令界面執行 python 客戶端文件名.py在pycharm中運行服務端代碼,運行結果:

python 實現客戶端與服務端的通信

在cmd中運行客戶端代碼,運行結果:

python 實現客戶端與服務端的通信

以上就是python 實現客戶端與服務端的通信的詳細內容,更多關于python 客戶端與服務端的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美日韩国产在线人成 | 精品综合网 | 最全精品自拍视频在线 | 在线观看一级毛片免费 | 欧美一欧美一区二三区性 | 91免费国产精品 | 日韩三级小视频 | 欧美特黄一级aa毛片 | 国产99精品一区二区三区免费 | 欧美黄色片在线 | 欧美图片一区二区三区 | 亚洲精品麻豆一区二区 | 久青草国产手机视频免费观看 | 色综合亚洲七七久久桃花影院 | 欧美一级毛片生活片 | www91com国产91 | 青青热久久国产久精品 | 沈樵在线观看国产专区 | 嫩草影院在线播放www免费观看 | 丁香六月 久久久 | 免费人成网站线观看合集 | 色中文在线 | 亚洲国产精品成人综合色在线婷婷 | 欧美日韩免费一区二区在线观看 | 日韩免费毛片 | 天天在线天天看成人免费视频 | 福利视频在线播放 | 国产欧美精品一区二区 | 俄罗斯欧美色黄激情 | 成人国产精品免费视频不卡 | 国产 日韩 欧美 在线 | 最新黄色在线 | 欧美 亚洲 一区 | 亚洲黄色第一页 | 亚洲日本aⅴ片在线观看香蕉 | 一区二区三区视频免费观看 | 国产精品久久久久久久福利院 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美一区二区三区 | 国产精品视频在 | 免费a资源| 精品哟啊呦v视频在线观看 精品哟哟国产在线观看 |