第二十二課網(wǎng)絡(luò)編程_第1頁
第二十二課網(wǎng)絡(luò)編程_第2頁
第二十二課網(wǎng)絡(luò)編程_第3頁
第二十二課網(wǎng)絡(luò)編程_第4頁
第二十二課網(wǎng)絡(luò)編程_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第二十二課網(wǎng)絡(luò)編程企業(yè)內(nèi)部軟件工程師培訓(xùn)講義本課內(nèi)容計算機(jī)網(wǎng)絡(luò)基礎(chǔ)

TCP/IP協(xié)議IP地址及網(wǎng)絡(luò)掩碼使用包中的類實現(xiàn)網(wǎng)絡(luò)通信

--URL類及其用法 --Socket通信計算機(jī)網(wǎng)絡(luò)基礎(chǔ)

什么是計算機(jī)網(wǎng)絡(luò)把分布在不同地理區(qū)域的計算機(jī)與專門的外部設(shè)備用通信線路互連成一個規(guī)模大、功能強(qiáng)的網(wǎng)絡(luò)系統(tǒng),從而使眾多的計算機(jī)可以方便地互相傳遞信息,共享硬件、軟件、數(shù)據(jù)信息等資源。計算機(jī)網(wǎng)絡(luò)的主要功能資源共享信息傳輸與集中處理

均衡負(fù)荷與分布處理

綜合信息服務(wù)(www/綜合業(yè)務(wù)數(shù)字網(wǎng)絡(luò)

ISDN)計算機(jī)網(wǎng)絡(luò)分類按規(guī)模大小和延伸范圍劃分:局域網(wǎng)(LAN--localareanetwork)城域網(wǎng)(MAN--metropolitanareanetwork)廣域網(wǎng)(WAN–wideareanetwork)按照網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)劃分:環(huán)形網(wǎng)、星形網(wǎng)、總線型網(wǎng)等

按照通信傳輸?shù)慕橘|(zhì)來劃分:雙絞線網(wǎng)、同軸電纜網(wǎng)、光纖網(wǎng)和衛(wèi)星網(wǎng)等

按照信號頻帶占用方式劃分:基帶網(wǎng)和寬帶網(wǎng)

局域網(wǎng)的幾種工作模式

專用服務(wù)器結(jié)構(gòu)(Server-Based)

又稱為“工作站/文件服務(wù)器”結(jié)構(gòu),由若干臺微機(jī)工作站與一臺或多臺文件服務(wù)器通過通信線路連接起來組成工作站存取服務(wù)器文件,共享存儲設(shè)備。

客戶機(jī)/服務(wù)器模式(client/server)

其中一臺或幾臺較大的計算機(jī)集中進(jìn)行共享數(shù)據(jù)庫的管理和存取,稱為服務(wù)器,而將其它的應(yīng)用處理工作分散到網(wǎng)絡(luò)中其它微機(jī)上去做,構(gòu)成分布式的處理系統(tǒng)。

對等式網(wǎng)絡(luò):(Peer-to-Peer)

在拓?fù)浣Y(jié)構(gòu)上與專用Server與C/S相同。在對等式網(wǎng)絡(luò)結(jié)構(gòu)中,沒有專用服務(wù)器每一個工作站既可以起客戶機(jī)作用也可以起服務(wù)器作用。

網(wǎng)絡(luò)通信協(xié)議及接口

什么是網(wǎng)絡(luò)通信協(xié)議計算機(jī)網(wǎng)絡(luò)中實現(xiàn)通信必須有一些約定即通信協(xié)議,對速率、傳輸代碼、代碼結(jié)構(gòu)、傳輸控制步驟、出錯控制等制定標(biāo)準(zhǔn)。

網(wǎng)絡(luò)通信接口

為了使兩個結(jié)點之間能進(jìn)行對話,必須在它們之間建立通信工具(即接口),使彼此之間能進(jìn)行信息交換。接口包括兩部分:硬件裝置:實現(xiàn)結(jié)點之間的信息傳送軟件裝置:規(guī)定雙方進(jìn)行通信的約定協(xié)議通信協(xié)議分層的思想為什么要分層由于結(jié)點之間聯(lián)系很復(fù)雜,在制定協(xié)議時,把復(fù)雜成份分解成

一些簡單的成份,再將它們復(fù)合起來。最常用的復(fù)合方式是層次方式,即同層間可以通信、上一層可以調(diào)用下一層,而與再下一層不發(fā)生關(guān)系。

通信協(xié)議的分層規(guī)定

把用戶應(yīng)用程序作為最高層,把物理通信線路作為最低層,將其間的協(xié)議處理分為若干層,規(guī)定每層處理的任務(wù),也規(guī)定每層的接口標(biāo)準(zhǔn)。

第5層第4層第3層第1層第2層主機(jī)B主機(jī)A第5層第4層第3層第1層第2層第1層協(xié)議第3層協(xié)議第2層協(xié)議第4層協(xié)議第5層協(xié)議物理介質(zhì)通信協(xié)議分層演示參考模型OSI

參考模型表示層應(yīng)用層會話層網(wǎng)絡(luò)層傳輸層數(shù)據(jù)鏈路層物理層應(yīng)用層網(wǎng)絡(luò)層傳輸層物理+數(shù)據(jù)鏈路層TCP/IP

參考模型數(shù)據(jù)的封裝與拆封封裝發(fā)送方數(shù)據(jù)在網(wǎng)絡(luò)模型的各層傳送過程中加入頭尾的過程拆封接受方收到數(shù)據(jù)后去除相應(yīng)的頭尾的過程數(shù)據(jù)封裝PDU傳輸層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層上層數(shù)據(jù)上層數(shù)據(jù)傳輸層控制信息數(shù)據(jù)網(wǎng)絡(luò)層控制信息數(shù)據(jù)邏輯鏈路子層控制信息0101110101001000010數(shù)據(jù)媒體訪問控制子層控制信息表示層應(yīng)用層會話層SegmentPacketBitsFrameFCSFCS數(shù)據(jù)拆封上層數(shù)據(jù)邏輯鏈路控制子層控制信息+網(wǎng)絡(luò)層控制信息+傳輸層控制信息+上層數(shù)據(jù)媒體訪問控制子層控制信息網(wǎng)絡(luò)層控制信息+傳輸層控制信息+上層數(shù)據(jù)邏輯鏈路子層控制信息傳輸層控制信息+上層數(shù)據(jù)網(wǎng)絡(luò)層控制信息上層數(shù)據(jù)傳輸層控制信息0101110101001000010傳輸層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層表示層應(yīng)用層會話層網(wǎng)絡(luò)數(shù)據(jù)通訊演示TCP/IP協(xié)議TCP--TransmissionControlProtocolIP--InternetProtocolTCP/IP協(xié)議可保證不同廠家生產(chǎn)的計算機(jī)能在共同網(wǎng)絡(luò)環(huán)境下運行,解決異構(gòu)網(wǎng)通信問題,TCP/IP與低層的數(shù)據(jù)鏈路層和物理層無關(guān),能廣泛地支持由低兩層協(xié)議構(gòu)成的物理網(wǎng)絡(luò)結(jié)構(gòu)。

TCP--面向連接的可靠數(shù)據(jù)傳輸協(xié)議;TCP重發(fā)一切沒有收到的數(shù)據(jù),進(jìn)行數(shù)據(jù)內(nèi)容準(zhǔn)確性檢查并保證分組的正確順序。IP協(xié)議IP協(xié)議是網(wǎng)際層的主要協(xié)議,支持網(wǎng)間互連的數(shù)據(jù)報通信。它提供主要功能有:無連接數(shù)據(jù)報傳送數(shù)據(jù)報路由選擇和差錯控制IP協(xié)議主要特性:

IP協(xié)議將報文傳送到目的主機(jī)后,無論傳送正確與否都不進(jìn)行檢驗、不回送確認(rèn)、不保證分組的正確順序。IP地址TCP/IP用IP地址來標(biāo)識源地址和目的地址IP地址功能:為實現(xiàn)網(wǎng)絡(luò)中不同計算機(jī)之間的通信,每臺機(jī)器都必須有一個與眾不同的標(biāo)識---IP地址;IP地址格式:數(shù)字型,32位,由4個8位的二進(jìn)制數(shù)組成,每8位之間用圓點隔開,如:8;IP地址組成:網(wǎng)絡(luò)標(biāo)識(netId)+主機(jī)標(biāo)識(hostId);IP地址分類:分為A、B、C三類,每個類別的網(wǎng)絡(luò)標(biāo)識和主機(jī)標(biāo)識各有規(guī)則。A~C類IP地址格式1Bits:0NetworkHostHostHost891617242532Range(1-126)110NetworkNetworkHostHost891617242532Range(128-191)1110NetworkNetworkNetworkHost891617242532Range(192-223)A類:B類:Bits:C類:Bits:網(wǎng)絡(luò)掩碼(mask)網(wǎng)絡(luò)掩碼的作用根據(jù)網(wǎng)絡(luò)掩碼+IP地址可確定該主機(jī)的網(wǎng)絡(luò)地址網(wǎng)絡(luò)掩碼的組成對每個網(wǎng)絡(luò)的網(wǎng)絡(luò)地址設(shè)定一個按位對應(yīng)的32bit的二進(jìn)制數(shù):網(wǎng)絡(luò)地址部分的對應(yīng)位設(shè)置位1,主機(jī)地址部分的對應(yīng)位設(shè)置位0。A類網(wǎng)絡(luò)掩碼:B類網(wǎng)絡(luò)掩碼:C類網(wǎng)絡(luò)掩碼:URLURL(UniformResourceLocator)----統(tǒng)一資源定位器,表示Internet上某一資源的地址。URL組成:協(xié)議名和資源名

protocol:resourceNameURL舉例://home/welcome.html/developers/.URL類常用構(gòu)造方法publicURL(Stringspec);

URLu1=newURL(“/home/”);publicURL(URLcontext,Stringspec);

URLu2=newURL(u1,“welcome.html”);publicURL(Stringprotocol,Stringhost,Stringfile);

URLu3=newURL(“http”,“”,“developers/index.html”);publicURL(Stringprotocol,Stringhost,intport,Stringfile);

URLu4=newURL(“http”,“”,80,“developers/index.html”);URL類應(yīng)用舉例(1)importjava.io.*;import.*;publicclassURLReader{ publicstaticvoidmain(Stringargs[]){ try{ URLtirc=newURL("/"); BufferedReaderin=newBufferedReader(new InputStreamReader(tirc.openStream())); Strings; while((s=in.readLine())!=null) System.out.println(s); in.close(); }catch(MalformedURLExceptione){ System.out.println(e); }catch(IOExceptione){ System.out.println(e); } }}URL類應(yīng)用舉例(2)程序URLReader.java輸出結(jié)果:<html><head><title>清華大學(xué)網(wǎng)站首頁</title><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><metahttp-equiv="refresh"content="0;URL=./eng/index.htm"></head><bodybgcolor="#FEFAF2"text="#000000"topmargin=0leftmargin=0marginwidth=0marginheight=0></body></html>//如使用了代理服務(wù)器,則使用下述命令運行://java-DxyHost=<hostname|hostIP>-DxyPort=<port>URLReaderSocket兩個Java應(yīng)用程序可通過一個雙向的網(wǎng)絡(luò)通信連接實現(xiàn)數(shù)據(jù)交換,這個雙向鏈路的一端稱為一個socket。socket通常用來實現(xiàn)client-server連接。包中定義的兩個類Socket和ServerSocket,分別用來實現(xiàn)雙向連接的client和server端建立連接時所需的尋址信息遠(yuǎn)程計算機(jī)的機(jī)器名或IP地址試圖連接的端口號(Portnumber)Socket通信模型ServerServerSockets(port#)s.accept()/等待連接Socket()OutputStreamInputStreamsocket.close()ClientSocket(host,port#)(Attempttoconnect)OutputStreamInputStreamsocket.close()網(wǎng)絡(luò)編程的四個基本步驟創(chuàng)建socket;打開連接到socket的輸入/輸出流;按照一定的協(xié)議對socket進(jìn)行讀/寫操作;關(guān)閉socket;創(chuàng)建socketSocket/ServerSocket類的構(gòu)造方法Socket(InetAddressaddress,intport);Socket(InetAddressaddress,intport,booleanstream);Socket(Stringhost,intport);Socket(Stringhost,intport,booleanstream);ServerSocket(intport);ServerSocket(intport,intcount);客戶端Socket的建立try{Socketsocket=newSocket(”",2000);}catch(IOExceptione){System.out.println("Error:"+e);}服務(wù)器端Socket的建立ServerSocketserver=null;try{server=newServerSocket(2000);}catch(IOExceptione){System.out.println("cannotlistento:"+e);}Socketsocket=null;try{socket=server.accept();}catch(IOExceptione){System.out.println("Error:"+e);}打開輸入/出流

PrintStreamos=newPrintStream(new BufferedOutputStream(socket.getOutputStream())); DataInputStreamis=newDataInputStream(socket.getInputStream());關(guān)閉Socket os.close(); is.close(); socket.close();簡單的client/server程序import.*;importjava.io.*;publicclassTestServer{ publicstaticvoidmain(Stringargs[]){ try{ ServerSockets=newServerSocket(8888); while(true){ Sockets1=s.accept(); OutputStreamos=s1.getOutputStream(); DataOutputStreamdos=newDataOutputStream(os); dos.writeUTF("Hello,"+s1.getInetAddress()+

"port#"+s1.getPort()+"bye-bye!");

溫馨提示

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

最新文檔

評論

0/150

提交評論