



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、我對(duì) python 網(wǎng)絡(luò)編程的理解開(kāi)首語(yǔ):Python 與我看過(guò)的 unix 高級(jí)環(huán)境編程等書(shū)籍原理上差不多一樣,都需要socket來(lái)支撐,同時(shí)遵循 TC可口 UDP專輸協(xié)議,在理論上和實(shí)際之中都需要?jiǎng)?chuàng)建客戶端和服務(wù)端(C/S 模式 ) ,利用 socket 數(shù)據(jù)流來(lái)進(jìn)行通信。網(wǎng)絡(luò)編程應(yīng)有的兩點(diǎn)前提:1、 Socket: 服務(wù)器與客戶端之間進(jìn)行通信媒介,信息都是以數(shù)據(jù)的形勢(shì)存在,雙方進(jìn)行通信實(shí)際上都是在進(jìn)行數(shù)據(jù)的交換,從而socket 擔(dān)當(dāng)重要的角色,網(wǎng)絡(luò)中“公交汽車” 。這個(gè)網(wǎng)絡(luò)公交汽車具備以下兩點(diǎn)功能:1) Send:從字面上來(lái)理解:“發(fā)送”,在實(shí)際的編程用途也是發(fā)送,對(duì)網(wǎng)絡(luò)之中數(shù)據(jù)流進(jìn)行
2、發(fā)送,在創(chuàng)建socket 模塊對(duì)象以后調(diào)用此方法,可以發(fā)送程序想要發(fā)送的數(shù)據(jù)。2) Recv( receive 簡(jiǎn)寫(xiě)) :從字面來(lái)理解是“接受” ,在實(shí)際編程之中用途也是接受,此功能用來(lái)接受對(duì)方發(fā)送的數(shù)據(jù),在創(chuàng)建socket 模塊對(duì)象以后掉用此方法,可以接受通信雙方發(fā)送的數(shù)據(jù)。有了以上兩種方法后, 解決了網(wǎng)絡(luò)編程之中基本功能: 接受和發(fā)送。 但是在實(shí)際網(wǎng)絡(luò)編程之中有以上兩種方法永遠(yuǎn)不能解決實(shí)際問(wèn)題,還得有許多其它的功能來(lái)支撐。Socket 的種類:AF_UNIX也叫AF_LOCAL這是基于文件的;AF_NETLINK :這是Linux 系統(tǒng)支持的一種套接字;AF_INET :這個(gè)套接字是基于網(wǎng)
3、絡(luò)的。2、 端口號(hào): 端口號(hào)就像打電話一樣,有區(qū)號(hào)和電話號(hào)。雙方想要建立通信,就必須有此作為連接的前提,使用端口號(hào)一般是被限制的,在linux 或者 unix 之1024 以下端口號(hào), 這些端口號(hào)用于標(biāo)準(zhǔn)服務(wù), 比如 80端口用于web服務(wù)。如果用Ctrl+C停止一個(gè)程序以后,要等上一段時(shí)間才能使用這個(gè)端口號(hào), 但是有時(shí)可能會(huì)返回一個(gè)錯(cuò)誤信息 “該端口正在使用” (在實(shí)際之中,我利用 ctrl+c 停止了進(jìn)程之后,再運(yùn)行同樣的程序,會(huì)出錯(cuò),我利用 kill -9 強(qiáng)制殺死了該進(jìn)程,再次正常運(yùn)行了該程序,體會(huì)了端口號(hào)的在實(shí)際之中存在) 。三、創(chuàng)建簡(jiǎn)單網(wǎng)絡(luò)程序:簡(jiǎn)單服務(wù)器建立:Import soc
4、ketS = ()Host = ()Port = 1024(host,port)(5)while True:c,addr = ()print “連接來(lái)自于 : ” ,addr( 謝謝你給連接! )()小型客戶機(jī):Import socketS = ()Host = ()Port = 1024(host,port)print (1024)()程序解釋:1) 創(chuàng)建和執(zhí)行流程:服務(wù)器端: 1. 建立 socket 對(duì)象,調(diào)用 socket 模塊;2. 進(jìn)行本地地址綁定;3. 進(jìn)行監(jiān)聽(tīng)客戶端發(fā)來(lái)的連接消息;4. 循環(huán)接受連接請(qǐng)求;5. 發(fā)送消息或者接受消息;6. 完成任務(wù)后,關(guān)閉套接字。客戶端: 1.
5、建立 socket 對(duì)象,調(diào)用 socket 對(duì)象;2. 連接請(qǐng)求;3. 接受消息;4. 完成任務(wù)后,關(guān)閉套接字。2)客戶端中用到了“while True ” ,利用真循環(huán)調(diào)節(jié)來(lái)無(wú)限接受客戶連接請(qǐng)求,在理論上可以做到,但是在實(shí)際之中收到物理?xiàng)l件的限制,到達(dá)一定條件后會(huì)關(guān)閉客戶端。3)名詞解釋:bind (綁定) 、 listen (監(jiān)聽(tīng)) 、 accept (接受) 、 connect (連接) , recv (接受) 。四、網(wǎng)絡(luò)中中文件操作:在使用的各種網(wǎng)絡(luò)編程工作庫(kù),功能最為強(qiáng)大為 urllib 、 urllib2 ,簡(jiǎn)幾乎可以單的調(diào)用就能將遠(yuǎn)程機(jī)子上的文件像本地自己的文件一樣來(lái)使用, 把
6、任何 url 指向的東西作為程序輸入。這兩個(gè)模塊的功能差不多,但是只是簡(jiǎn)單的文件下載, urllib 就足夠,如果是要進(jìn)行http 驗(yàn)證或者用 cookie 來(lái)為自己的程序?qū)憯U(kuò)展程序, urllib2是一個(gè)不錯(cuò)的選擇。以下是使用方式:打開(kāi)遠(yuǎn)程文件:From urllib import urlopenWebpage = urlopen( )與使用本地文件不同的是,在使用遠(yuǎn)程文件的時(shí)候使用的是“只讀”模式。 Urlopen 之中必須包含一個(gè)連接到網(wǎng)頁(yè)文件路徑,此時(shí)才能用 urlopen 來(lái)打開(kāi)文件。Urlopen 返回的類文件對(duì)象支持close 、 read 、 readdline 和 readl
7、ines方法,當(dāng)然也支持迭代。注:如果想要實(shí)驗(yàn)rullib但現(xiàn)在沒(méi)有在線,可以用以file 開(kāi)頭的URL訪問(wèn)本地文件,比如: 向凱 (記得要對(duì)“ ”進(jìn)行轉(zhuǎn)義) 。下載遠(yuǎn)程文件:如果想在本地保存遠(yuǎn)程文件副本,此時(shí)urlopen 提供了一個(gè)方法:urlretrieve 。 Urlretrieve 返回一個(gè)元組( filename , headers )而不是類 文件對(duì)象。如:Urlretrieve ( , )這個(gè)語(yǔ)句獲取python 的主頁(yè)并把它儲(chǔ)存在文件 中。如果沒(méi)有指定文件名,文件就會(huì)在放在臨時(shí)的位置,用 open 函數(shù)可以打開(kāi)它,但如果完成了對(duì)它的操作,就可以刪除它。要清理臨時(shí)文件,可以調(diào)用 urlcleanup 函數(shù),但不要提供參數(shù),該函數(shù)會(huì)負(fù)責(zé)清理工作。感想與收獲:簡(jiǎn)單的網(wǎng)絡(luò)編程我現(xiàn)在能夠建立它,并且能夠正常運(yùn)行。但是這只是簡(jiǎn)單的網(wǎng)絡(luò)編程,剛剛進(jìn)入網(wǎng)絡(luò)編程世界,還有許多原理還
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 借款合同標(biāo)準(zhǔn)文本100例
- 廉潔自律-提升素質(zhì)
- 鄉(xiāng)村共享租賃合同標(biāo)準(zhǔn)文本
- 代理拍攝合同標(biāo)準(zhǔn)文本
- 供應(yīng)合同標(biāo)準(zhǔn)文本長(zhǎng)期
- 上海賣房定金合同標(biāo)準(zhǔn)文本
- 會(huì)展物料合同樣本
- 二少房購(gòu)房合同標(biāo)準(zhǔn)文本
- 公司簽約司機(jī)合同標(biāo)準(zhǔn)文本
- 便宜出售商鋪合同標(biāo)準(zhǔn)文本
- 青春自護(hù)-遠(yuǎn)離不良誘惑主題班會(huì)
- 藥店開(kāi)展藥品購(gòu)進(jìn)渠道檢查自查報(bào)告
- 職業(yè)培訓(xùn)師理論知識(shí)考試題及答案
- 《容積和容積單位》5·3天天練
- 離婚協(xié)議書(shū)無(wú)子女無(wú)共同財(cái)產(chǎn)范本2024年
- 包頭市重點(diǎn)中學(xué)2024-2025學(xué)年初三考前仿真模擬化學(xué)試題含解析
- DL∕T 1910-2018 配電網(wǎng)分布式饋線自動(dòng)化技術(shù)規(guī)范
- 氣瓶檢驗(yàn)站質(zhì)量記錄表格匯編
- 2024北京八中初一(下)期中數(shù)學(xué)(教師版)
- 2024版《硫化氫培訓(xùn)課件》課件
- 用友離散行業(yè)細(xì)分領(lǐng)域鑄造行業(yè)解決方案
評(píng)論
0/150
提交評(píng)論