影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

Python程序設計ppt課件第12章-網(wǎng)絡編程和多線程編程

上傳人:hloru****lorv6 文檔編號:253227448 上傳時間:2024-12-03 格式:PPTX 頁數(shù):47 大?。?47.81KB
收藏 版權(quán)申訴 舉報 下載
Python程序設計ppt課件第12章-網(wǎng)絡編程和多線程編程_第1頁
第1頁 / 共47頁
Python程序設計ppt課件第12章-網(wǎng)絡編程和多線程編程_第2頁
第2頁 / 共47頁
Python程序設計ppt課件第12章-網(wǎng)絡編程和多線程編程_第3頁
第3頁 / 共47頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《Python程序設計ppt課件第12章-網(wǎng)絡編程和多線程編程》由會員分享,可在線閱讀,更多相關《Python程序設計ppt課件第12章-網(wǎng)絡編程和多線程編程(47頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,2020/11/15,#,網(wǎng)絡編程基礎,TCP編程,多線程編程,第12章 網(wǎng)絡和多任務編程,參考書目,Python,程序設計,網(wǎng)絡編程基礎第12章 網(wǎng)絡和多任務編程參考書目Python,1,目錄,網(wǎng)絡編程基礎,TCP編程,多線程編程,這里說明圖片內(nèi)容,目錄網(wǎng)絡編程基礎這里說明圖片內(nèi)容,2,網(wǎng)絡編程基礎,TCP編程,多線程編程,目錄,這里說明圖片內(nèi)容,網(wǎng)絡編程基礎目錄這里說明圖片內(nèi)容,3,網(wǎng)絡編程基礎,1 IP 地址,IP 地址就是標識網(wǎng)絡中設備的一個地址,類比家庭地址。IP 地址分為兩類:IPv4 和 IPv6

2、。,目前使用的IP地址,由點分十進制組成(比如:192.168.247.1),IPv4,未來使用的IP地址,由冒號十六進制組成fe80:c0be:39:4cb4:3d21%30),IPv6,網(wǎng)絡編程基礎1 IP 地址IP 地址就是標識網(wǎng)絡中設備的一個,4,網(wǎng)絡編程基礎,1 IP 地址,IP 地址的,作用,是標識網(wǎng)絡中唯一的一臺設備的,也就是說通過IP地址能夠找到網(wǎng)絡中某臺設備。查看 IP 地址方式:,使用 ifconfig 命令,Linux 和 mac OS,使用 ipconfig 命令,Windows,檢查網(wǎng)絡是否正常使用,通常是在命令提示符中下使用,ping,命令,。比如:,ping 61

3、.135.169.121,或者,ping ,。,網(wǎng)絡編程基礎1 IP 地址IP 地址的作用是標識網(wǎng)絡中唯一的,5,文件相關的基本概念,2端口與端口號,傳輸數(shù)據(jù)的通道,好比教室的門,作用就是給運行的應用程序提供傳輸數(shù)據(jù)的通道。,端口,對端口進行了編號,好比現(xiàn)實生活中的門牌號,作用是用來區(qū)分和管理不同端口的,通過端口號能找到唯一個的一個端口。,端口號,端口和端口號的關系:端口號可以標識唯一的一個端口。,文件相關的基本概念2端口與端口號傳輸數(shù)據(jù)的通道,好比教室的門,6,文件相關的基本概念,2端口與端口號,指眾所周知的端口號,范圍從0到1023,一般固定分配給一些服務,比如21端口分配給FTP(文件傳

4、輸協(xié)議)服務,知名端口號,一般程序員開發(fā)應用程序使用端口號稱為動態(tài)端口號,范圍是從1024到65535。,如果程序沒有設置端口號,操作系統(tǒng)會在范圍內(nèi)隨機生成。,當,運行的,程序退出時,所占用的這個端口號就會被釋放。,動態(tài)端口號,端口號的分類,:,文件相關的基本概念2端口與端口號指眾所周知的端口號,范圍從0,7,文件相關的基本概念,3 TCP,數(shù)據(jù)不能隨便發(fā)送,在發(fā)送之前還需要選擇一個對應的傳輸協(xié)議,保證程序之間按照指定的傳輸規(guī)則進行數(shù)據(jù)的通信,,即,TCP。,TCP 的英文全拼(Transmission Control Protocol)簡稱,傳輸控制協(xié)議,,它是一種面向連接的、可靠的、基于字

5、節(jié)流的傳輸層通信協(xié)議。比如:文件下載,瀏覽器上網(wǎng)。,TCP,通信步驟,:,1,)創(chuàng)建連接,2,)傳輸數(shù)據(jù),3,)關閉連接,TCP 的特點:,1)面向連接,2)可靠傳輸,文件相關的基本概念3 TCP數(shù)據(jù)不能隨便發(fā)送,在發(fā)送之前還需,8,文件相關的基本概念,4 Socket(套接字),socket(簡稱 套接字)是進程之間通信一個工具,好比現(xiàn)實生活中的插座socket 的作用是負責進程之間的網(wǎng)絡數(shù)據(jù)傳輸,好比數(shù)據(jù)的搬運工。,socket 使用場景:只要跟網(wǎng)絡相關的應用程序或者軟件都使用到了socket。比如即時聊天工具:QQ、微信和瀏覽器。,文件相關的基本概念4 Socket(套接字),9,文件相

6、關的基本概念,4 Socket(套接字),send,和,recv,分別是指利用Socket在客戶端與服務器端的數(shù)據(jù),發(fā)送,和,接收,,send和recv的底層工作原理:,1.TCP socket的發(fā)送和接收緩沖區(qū),2.send原理剖析,應用程序把發(fā)送的數(shù)據(jù)先寫入到發(fā)送緩沖區(qū)(內(nèi)存中的一片空間),再由操作系統(tǒng)控制網(wǎng)卡把發(fā)送緩沖區(qū)的數(shù)據(jù)發(fā)送給服務端網(wǎng)卡,3.recv原理剖析,調(diào)用操作系統(tǒng)接口,由操作系統(tǒng)通過網(wǎng)卡接收數(shù)據(jù),把接收的數(shù)據(jù)寫入到接收緩沖區(qū)(內(nèi)存中的一片空間),應用程序再從接收緩存區(qū)獲取客戶端發(fā)送的數(shù)據(jù)。,文件相關的基本概念4 Socket(套接字)send和rec,10,網(wǎng)絡編程基礎,T

7、CP編程,多線程編程,目錄,這里說明圖片內(nèi)容,網(wǎng)絡編程基礎目錄這里說明圖片內(nèi)容,11,TCP編程,Socket分為,客戶端,和,服務器,。客戶端Socket用于建立與服務端Socket的連接,服務端Socket用于等待客戶端Socket的連接。因此,在使用客戶端Socket,之前,必須建立服務端,Socket。,在Python語言中創(chuàng)建Socket服務端程序,需要使用Socket模塊中的,socket類,。,TCP編程Socket分為客戶端和服務器。客戶端Socket,12,TCP編程,TCP網(wǎng)絡應用程序的注意以下2點:,1)進行通信的時候必須要先建立連接。,TCP客戶端程序一般不需要綁定端口

8、號,因為客戶端是主動發(fā)起建立連接的。,TCP 服務端程序必須綁定端口號,否則客戶端找不到這個 TCP 服務端程序。,listen后的套接字是被動套接字,只負責接收新的客戶端的連接請求,不能收發(fā)消息。,2)連接成功后,TCP 服務器端程序會產(chǎn)生一個新的套接字,收發(fā)客戶端消息使用該套接字。,關閉 accept 返回的套接字意味著和這個客戶端已經(jīng)通信完畢。,關閉 listen 后的套接字意味著服務端的套接字關閉了,會導致新的客戶端不能連接服務端,但是之前已經(jīng)接成功的客戶端還能正常通信。,TCP編程TCP網(wǎng)絡應用程序的注意以下2點:,13,TCP編程,1 TCP通信流程,TCP編程1 TCP通信流程,

9、14,TCP編程,2 創(chuàng)建TCP客戶端程序,主動發(fā)起建立連接請求的是客戶端程序。編寫TCP客戶端程序,:,首先要導入socket模塊:,import socket,其次是創(chuàng)建客戶端 socket 對象:socket.socket(AddressFamily,Type),AddressFamily 表示IP地址類型,分為IPv4和IPv6,Type 表示傳輸協(xié)議類型,TCP編程2 創(chuàng)建TCP客戶端程序主動發(fā)起建立連接請求的是客,15,TCP編程,2 創(chuàng)建TCP客戶端程序,客戶端創(chuàng)建方法:,1.connect(host,port)表示和服務端套接字建立連接,host是服務器ip地址,port是應用

10、程序的端口號,2.send(data)表示發(fā)送數(shù)據(jù),data是二進制數(shù)據(jù),3.recv(buffersize)表示接收數(shù)據(jù),buffersize是每次接收數(shù)據(jù)的長度,TCP編程2 創(chuàng)建TCP客戶端程序客戶端創(chuàng)建方法:1.con,16,TCP編程,2 創(chuàng)建TCP客戶端程序,本例實現(xiàn)了一個客戶端Socket應用,該應用發(fā)送字符串,然后服務端返回數(shù)據(jù),最后將這些數(shù)據(jù)輸出到網(wǎng)絡調(diào)試的終端上。,import socket,if _name_=_main_:,#創(chuàng)建tcp客戶端套接字,#1.AF_INET:表示ipv4,#2.SOCK_STREAM:tcp傳輸協(xié)議,tcp_client_socket=so

11、cket.socket(socket.AF_INET,socket.SOCK_STREAM),#和服務端應用程序建立連接,tcp_client_socket.connect(192.168.131.62,8080),#代碼執(zhí)行到此,說明連接建立成功,#準備發(fā)送的數(shù)據(jù),send_data=服務端,我是愛你的,請接受我吧!.encode(gbk),TCP編程2 創(chuàng)建TCP客戶端程序本例實現(xiàn)了一個客戶端Soc,17,TCP編程,2 創(chuàng)建TCP客戶端程序,本例實現(xiàn)了一個客戶端Socket應用,該應用發(fā)送字符串,然后服務端返回數(shù)據(jù),最后將這些數(shù)據(jù)輸出到網(wǎng)絡調(diào)試的終端上。,#發(fā)送數(shù)據(jù),tcp_client

12、_socket.send(send_data),#接收數(shù)據(jù),這次接收的數(shù)據(jù)最大字節(jié)數(shù)是1024,recv_data=tcp_client_socket.recv(1024),#返回的直接是服務端程序發(fā)送的二進制數(shù)據(jù),print(recv_data),#對數(shù)據(jù)進行解碼,recv_content=recv_data.decode(gbk),print(接收服務端的數(shù)據(jù)為:,recv_content),#關閉套接字,tcp_client_socket.close(),運行結(jié)果,:,bxb0 xaexc4xe3xd4xdaxbfxdaxa3xacxd7xecxc4xd1xbfxaaxa3xa1,接收服

13、務端的數(shù)據(jù)為,:,愛你在口,嘴難開!,TCP編程2 創(chuàng)建TCP客戶端程序本例實現(xiàn)了一個客戶端Soc,18,TCP編程,3 創(chuàng)建TCP服務器端程序,等待接受連接請求的是服務端程序。編寫TCP服務端程序,:,首先要導入socket模塊:,import socket,其次是創(chuàng)建服務端 socket 對象:socket.socket(AddressFamily,Type),AddressFamily 表示IP地址類型,分為IPv4和IPv6,Type 表示傳輸協(xié)議類型,TCP編程3 創(chuàng)建TCP服務器端程序等待接受連接請求的是服務,19,TCP編程,3 創(chuàng)建TCP服務器端程序,服務端創(chuàng)建過程:,1.bi

14、nd(host,port)表示綁定端口號,host 是 ip 地址,port 是端口號,ip 地址一般不指定,表示本機的任何一個ip地址都可以。,2.listen(backlog)表示設置監(jiān)聽,backlog參數(shù)表示最大等待建立連接的個數(shù)。,3.accept()表示等待接受客戶端的連接請求,4.send(data)表示發(fā)送數(shù)據(jù),data 是二進制數(shù)據(jù),5.recv(buffersize)表示接收數(shù)據(jù),buffersize 是每次接收數(shù)據(jù)的長度,TCP編程3 創(chuàng)建TCP服務器端程序服務端創(chuàng)建過程:1.bi,20,TCP編程,3 創(chuàng)建TCP服務器端程序,創(chuàng)建TCP服務端套接字,設置端口號為8989

15、,設置監(jiān)聽,準備接受客戶端發(fā)來的數(shù)據(jù),并顯示客戶端的IP和端口號,演示TCP 服務端程序,。,import socket,if _name_=_main_:,#創(chuàng)建TCP服務器端套接字,tcp_server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM),#設置端口號復用,讓程序退出端口號立即釋放,tcp_server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True),#給程序綁定端口號,tcp_server_socket.bind(,8989),#設置監(jiān)聽

16、,#128:最大等待建立連接的個數(shù),提示:目前是單任務的服務端,同一時刻只能服務于一個客戶端,后續(xù)使用多任務能夠讓服務端同時服務于多個客戶端,,#不需要讓客戶端等待建立連接,tcp_server_socket.listen(128),TCP編程3 創(chuàng)建TCP服務器端程序創(chuàng)建TCP服務端套接字,,21,TCP編程,3 創(chuàng)建TCP服務器端程序,創(chuàng)建TCP服務端套接字,設置端口號為8989,設置監(jiān)聽,準備接受客戶端發(fā)來的數(shù)據(jù),并顯示客戶端的IP和端口號,演示TCP 服務端程序,。,#等待客戶端建立連接的請求,只有客戶端和服務端建立連接成功代碼才會解阻塞,代碼才能繼續(xù)往下執(zhí)行,#1.專門和客戶端通信的套接字:service_client_socket,#2.客戶端的ip地址和端口號:ip_port,service_client_socket,ip_port=tcp_server_socket.accept(),#代碼執(zhí)行到此說明連接建立成功,print(客戶端的ip地址和端口號:,ip_port),#接收客戶端發(fā)送的數(shù)據(jù),這次接收數(shù)據(jù)的最大字節(jié)數(shù)是1024,recv_data=service_

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!