您好,登錄后才能下訂單哦!
本篇內容主要講解“Python中怎么實現服務端與客戶端連接”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python中怎么實現服務端與客戶端連接”吧!
我們使用 socket 模塊的 socket 函數來創建一個 socket 對象。socket 對象可以通過調用其他函數來設置一個 socket 服務。
現在我們可以通過調用 bind(hostname, port) 函數來指定服務的 port(端口)。
接著,我們調用 socket 對象的 accept 方法。該方法等待客戶端的連接,并返回 connection 對象,表示已連接到客戶端。
完整代碼如下:
#!/usr/bin/python3
# 文件名:server.py
# 導入 socket、sys 模塊
import socket
import sys
# 創建 socket 對象
serversocket = socket.socket(
socket.AF_INET, socket.SOCK_STREAM)
# 獲取本地主機名
host = socket.gethostname()
port = 9999
# 綁定端口號
serversocket.bind((host, port))
# 設置最大連接數,超過后排隊
serversocket.listen(5)
while True:
# 建立客戶端連接
clientsocket,addr = serversocket.accept()
print("連接地址: %s" % str(addr))
msg='歡迎訪問菜鳥教程!'+ "\r\n"
clientsocket.send(msg.encode('utf-8'))
clientsocket.close()
接下來我們寫一個簡單的客戶端實例連接到以上創建的服務。端口號為 9999。
socket.connect(hostname, port ) 方法打開一個 TCP 連接到主機為 hostname 端口為 port 的服務商。連接后我們就可以從服務端獲取數據,記住,操作完成后需要關閉連接。
完整代碼如下:
#!/usr/bin/python3
# 文件名:client.py
# 導入 socket、sys 模塊
import socket
import sys
# 創建 socket 對象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 獲取本地主機名
host = socket.gethostname()
# 設置端口號
port = 9999
# 連接服務,指定主機和端口
s.connect((host, port))
# 接收小于 1024 字節的數據
msg = s.recv(1024)
s.close()
print (msg.decode('utf-8'))
現在我們打開兩個終端,第一個終端執行 server.py 文件:
$ python3 server.py
第二個終端執行 client.py 文件:
$ python3 client.py 歡迎訪問菜鳥教程!
這時我們再打開第一個終端,就會看到有以下信息輸出:
連接地址: ('192.168.0.118', 33397)
到此,相信大家對“Python中怎么實現服務端與客戶端連接”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。