本篇內(nèi)容主要講解“Python中怎么實(shí)現(xiàn)服務(wù)端與客戶端連接”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Python中怎么實(shí)現(xiàn)服務(wù)端與客戶端連接”吧!
“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無(wú)止境。
我們使用 socket 模塊的 socket 函數(shù)來(lái)創(chuàng)建一個(gè) socket 對(duì)象。socket 對(duì)象可以通過(guò)調(diào)用其他函數(shù)來(lái)設(shè)置一個(gè) socket 服務(wù)。
現(xiàn)在我們可以通過(guò)調(diào)用 bind(hostname, port) 函數(shù)來(lái)指定服務(wù)的 port(端口)。
接著,我們調(diào)用 socket 對(duì)象的 accept 方法。該方法等待客戶端的連接,并返回 connection 對(duì)象,表示已連接到客戶端。
完整代碼如下:
#!/usr/bin/python3
# 文件名:server.py
# 導(dǎo)入 socket、sys 模塊
import socket
import sys
# 創(chuàng)建 socket 對(duì)象
serversocket = socket.socket(
socket.AF_INET, socket.SOCK_STREAM)
# 獲取本地主機(jī)名
host = socket.gethostname()
port = 9999
# 綁定端口號(hào)
serversocket.bind((host, port))
# 設(shè)置最大連接數(shù),超過(guò)后排隊(duì)
serversocket.listen(5)
while True:
# 建立客戶端連接
clientsocket,addr = serversocket.accept()
print("連接地址: %s" % str(addr))
msg='歡迎訪問(wèn)菜鳥教程!'+ "\r"
clientsocket.send(msg.encode('utf-8'))
clientsocket.close()
接下來(lái)我們寫一個(gè)簡(jiǎn)單的客戶端實(shí)例連接到以上創(chuàng)建的服務(wù)。端口號(hào)為 9999。
socket.connect(hostname, port ) 方法打開一個(gè) TCP 連接到主機(jī)為 hostname 端口為 port 的服務(wù)商。連接后我們就可以從服務(wù)端獲取數(shù)據(jù),記住,操作完成后需要關(guān)閉連接。
完整代碼如下:
#!/usr/bin/python3
# 文件名:client.py
# 導(dǎo)入 socket、sys 模塊
import socket
import sys
# 創(chuàng)建 socket 對(duì)象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 獲取本地主機(jī)名
host = socket.gethostname()
# 設(shè)置端口號(hào)
port = 9999
# 連接服務(wù),指定主機(jī)和端口
s.connect((host, port))
# 接收小于 1024 字節(jié)的數(shù)據(jù)
msg = s.recv(1024)
s.close()
print (msg.decode('utf-8'))
現(xiàn)在我們打開兩個(gè)終端,第一個(gè)終端執(zhí)行 server.py 文件:
$ python3 server.py
第二個(gè)終端執(zhí)行 client.py 文件:
$ python3 client.py 歡迎訪問(wèn)菜鳥教程!
這時(shí)我們?cè)俅蜷_第一個(gè)終端,就會(huì)看到有以下信息輸出:
連接地址: ('192.168.0.118', 33397)
到此,相信大家對(duì)“Python中怎么實(shí)現(xiàn)服務(wù)端與客戶端連接”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!