socket 套接字通信
1、什么是socket
socket是一個模塊,又稱套接字,用來封裝 互聯網協議(應用層以下的層)
2、socket的作用
socket可以實作互聯網協議應用層以下的層的作業
3、怎么使用socket
import socket
寫socket套接字:
Client
Server
server.py檔案內容:
""" 先啟動套接字服務端 注意: 客戶端一次發送,服務端先一次接收,再發送 """ import socket # 就好像:買手機 server = socket.socket() # 系結手機卡 # ip地址相當于手機號碼 server.bind(("127.0.0.1", 9527)) # 半連接池 server.listen(5) # 最多5個人坐椅子 實際上==6 # 回圈實作可接收多了用戶訪問 while True: # 等待電話接入 ---> 客戶端 # conn:指的是服務端通往客戶端的管道 conn, addr = server.accept() # 回圈實作回圈通信 while True: try: # 監聽代碼塊是否有例外 # 接聽對方講話的內容 # data 客戶端發送過來的訊息 data = https://www.cnblogs.com/jsxxd/archive/2020/11/02/conn.recv(1024) # 可接收一次1024 bytes的資料 if data.decode("utf-8") == "q": break if len(data) == 0: break print(data) # 服務端向客戶端發送訊息 res = input("請回復客戶端訊息>>> ") conn.send(res.encode("utf-8")) # 捕獲例外資訊 except Exception as e: # 列印例外 print(e) break # 關閉通信,掛電話 conn.close()
client.py檔案內容:
""" 啟動服務端后再啟動客戶端 """ import socket # 買手機 client = socket.socket() # 撥號 # 客戶端的ip,port必須與服務器一致 client.connect(("127.0.0.1", 9527)) # 回圈實作可接收多次服務端回傳資訊以及訪問服務端資訊 while True: send_data = input("請發送服務端訊息>>> ") # 講話給對方聽 # 必須發送bytes # client.send(b"hello") # 或者編碼 client.send(send_data.encode("utf-8")) # 客戶端收到服務端回傳資訊 data = https://www.cnblogs.com/jsxxd/archive/2020/11/02/client.recv(1024) if data.decode("utf-8") == "q": break if len(data) == 0: break print(data) # 關閉通信,掛電話 client.close()
執行結果自行測驗,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/200493.html
標籤:其他
上一篇:socket 套接字通信
