久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Python 網(wǎng)絡(luò)編程

Python 網(wǎng)絡(luò)編程

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-06 15:50:41 1699257041

python提供了兩個(gè)級(jí)別訪問(wèn)的網(wǎng)絡(luò)服務(wù):

低級(jí)別的網(wǎng)絡(luò)服務(wù)支持基本的Socket,它提供了標(biāo)準(zhǔn)的BSDSocketsAPI,可以訪問(wèn)底層操作系統(tǒng)Socket接口的全部方法。

高級(jí)別的網(wǎng)絡(luò)服務(wù)模塊SocketServer,它提供了服務(wù)器中心類,可以簡(jiǎn)化網(wǎng)絡(luò)服務(wù)器的開(kāi)發(fā)。

什么是Socket?

Socket又稱"套接字",應(yīng)用程序通常通過(guò)"套接字"向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求,使主機(jī)間或者一臺(tái)計(jì)算機(jī)上的進(jìn)程間可以通訊。

socket()函數(shù)

Python中,我們用socket()函數(shù)來(lái)創(chuàng)建套接字,語(yǔ)法格式如下:

socket.socket([family[,type[,proto]]])

參數(shù)

family:套接字家族可以使AF_UNIX或者AF_INET。

type:套接字類型可以根據(jù)是面向連接的還是非連接分為SOCK_STREAM或SOCK_DGRAM。

protocol:一般不填默認(rèn)為0。

簡(jiǎn)單實(shí)例

服務(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ì)象,表示已連接到客戶端。

完整代碼如下:

實(shí)例

#!/usr/bin/python#

-*-coding:UTF-8-*-#

文件名:server.pyimportsocket#導(dǎo)入socket模塊

s=socket.socket()#創(chuàng)建socket對(duì)象

host=socket.gethostname()#獲取本地主機(jī)名

port=12345#設(shè)置端口

s.bind((host,port))#綁定端口

s.listen(5)#等待客戶端連接

whileTrue:c,addr=s.accept()#建立客戶端連接

print'連接地址:',addr

c.send('歡迎訪問(wèn)千鋒!')

c.close()#關(guān)閉連接

客戶端

接下來(lái)我們寫(xiě)一個(gè)簡(jiǎn)單的客戶端實(shí)例連接到以上創(chuàng)建的服務(wù)。端口號(hào)為12345。

socket.connect(hosname,port)方法打開(kāi)一個(gè)TCP連接到主機(jī)為hostname端口為port的服務(wù)商。連接后我們就可以從服務(wù)端獲取數(shù)據(jù),記住,操作完成后需要關(guān)閉連接。

完整代碼如下:

實(shí)例

#!/usr/bin/python

#-*-coding:UTF-8-*-

#文件名:client.py

importsocket#導(dǎo)入socket模塊

s=socket.socket()#創(chuàng)建socket對(duì)象

host=socket.gethostname()#獲取本地主機(jī)名

port=12345#設(shè)置端口號(hào)

s.connect((host,port))

prints.recv(1024)

s.close()

現(xiàn)在我們打開(kāi)兩個(gè)終端,第一個(gè)終端執(zhí)行server.py文件:

$pythonserver.py

第二個(gè)終端執(zhí)行client.py文件:

$pythonclient.py

歡迎訪問(wèn)千鋒!

以上內(nèi)容為大家介紹了Python網(wǎng)絡(luò)編程,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取

下一篇

Python的模塊
相關(guān)推薦HOT
python修改列表元素有什么方法

增刪改查是處理數(shù)據(jù)最常見(jiàn)的方法,前兩種說(shuō)過(guò)了,這里就要說(shuō)說(shuō)python提供的兩種修改列表元素的方法,一種是修改單個(gè)元素,還有一種的修改一組數(shù)...詳情>>

2023-11-06 18:29:06
為什么企業(yè)很難招聘到好的python程序員?

原因有很多,其中幾個(gè)主要原因如下:1、被人敬仰的大牛級(jí)python工程師門大都被大型的互聯(lián)網(wǎng)公司收了,并有著自己所需要的一切資源,正安穩(wěn)過(guò)活...詳情>>

2023-11-06 18:25:30
python之內(nèi)建函數(shù)的方法

內(nèi)建函數(shù)和方法(built-infunctionsandmethods)根據(jù)定義,內(nèi)建的(built-in)模塊是指使用C寫(xiě)的模塊,可以通過(guò)sys模塊的builtin_module_names字段...詳情>>

2023-11-06 18:03:54
python作為一種編程語(yǔ)言有多強(qiáng)大?

說(shuō)實(shí)話,Python是一門強(qiáng)大的語(yǔ)言,幾乎所有東西都可以用Python創(chuàng)建!這就是為什么它被YouTube,Instagram,Netflix甚至Quora使用的原因!這門編程...詳情>>

2023-11-06 17:53:06
Python的優(yōu)點(diǎn)

Python非常容易入門。Python號(hào)稱「Batteryincluded」。我們知道battery是「電池」的意思,included是「包含」的意思,因此就是說(shuō)Python簡(jiǎn)單到「...詳情>>

2023-11-06 17:49:30