Java網絡程序設計基礎-2_第1頁
Java網絡程序設計基礎-2_第2頁
Java網絡程序設計基礎-2_第3頁
Java網絡程序設計基礎-2_第4頁
Java網絡程序設計基礎-2_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章Java網絡程序設計基礎網絡基礎知識網絡程序設計基礎Java與網絡通信An

Introduction

to

DatabaseNetwork

PrograSmSmymsitnegm1.1網絡基礎知識計算機網絡概念網絡中每臺機器稱為節點(node)。網絡中的每個主機都有地址。網絡中的主機之間通過網絡協議進行交流。網絡協議網內主機之間通信時必須遵守的規則和約定。

網絡協議是分層的,不同層具有各自不同的協議。網絡通信三要素進行通信的計算機的地址:IP地址進行通信的計算機的規則:TCP協議,UDP協議等通信應用程序所在通信端口An

Introduction

to

DatabaseNetwork

PrograSmSmymsitnegm1.1.1

TCP/IP參考模型與OSI比較TCP/IP參考模型實際的工業標準OSI比較:國際化標準模型An

Introduction

to

DatabaseNetwork

PrograSmSmymsitnegm1.1.2

TCP/IP參考模型及協議TCPUDP用戶進程用戶進程用戶進程用戶進程ICMPIPIGMPARP硬件接口RARP媒介An

Introduction

to

DatabaseNetwork

PrograSmSmymsitnegm傳輸層應用層網絡層鏈路層1.1.2

TCP/IP參考模型及協議網絡接口層為網絡互聯層提供訪問接口,使其能夠傳遞IP數據包。網際層(IP協議)是整個參考模型的核心。功能是把IP數據包發送到目標主機。An

Introduction

to

DatabaseNetwork

PrograSmSmymsitnegm具備連接異構網的功能。采用IP(Internet

Protocol)協議,規定數據包的格式及為數據包尋找路由的流程。傳輸層(TCP和UDP協議)功能是使源主機和目標主機上的進程可以進行會話。TCP(TransmissionControlProtocol)協議:傳輸控制協議,是一種面向連接的,可靠的協議。應用層的大多數協議都建立在TCP協議的基礎上。UDP(User

DatagramProtocol)協議:用戶數據報協議,是一種無連接的,不可靠的協議。主要適用于不需要對報文進行排序和流量控制的場合。1.1.2

TCP/IP參考模型及協議應用層(基于TCP協議的應用層協議)HTTP(Hyper

Text

Transfer

Protocol)協議:超文本傳輸協議FTP(Files

Transfer

Protocol)協議:文件傳輸協議POP3(Post

Office

Protocol-3)協議:郵局協議SMTP(Simple

Mail

Transfer

Protocol)協議

IMAP4(InternetMessage

AccessProtocol-4)協議:消息訪問協議允許用戶訪問和操縱遠程程序器上的郵件和郵件文件夾。應用層(基于UDP協議的應用層協議)

SNMP(Simple

Network

Management

Protocol)協議:簡單網絡管理協議,為管理本地和遠程的網絡設備提供標準化途徑。DNS(Domain

Name

System)協議:域名系統協議,把主機的域名轉換成相應的IP地址。An

Introduction

to

DatabaseNetwork

PrograSmSmymsitnegm1.1.3TCP、UDP協議1.傳輸控制協議TCP傳輸控制協議(Transmission

Control

Protocol,TCP)是一種面向連接的、可靠的、基于字節流的運輸層通信協

議。傳輸控制協議不管實際消息邊界是否存在。·TCP提供全雙工服務,即數據可在同一時間雙向流動。在兩個應用程序彼此連接之后,它們都可以發送和接收數據。TCP連接可以從應用程序A向B發送數據,而在同一時間還可以從B向A發送數據。An

Introduction

to

DatabaseNetwork

PrograSmSmymsitnegm1.1.3TCP、UDP協議2.用戶數據報協議UDP用戶數據報協議(User

Datagram

Protoco,UDP)是一個簡單的面向數據報的傳輸層(transportlayer)協議,協議以消息為單位在網上傳送數據,在發送端,消息一條一條地發送,在接收端,也只能一條一條地接收,每一條消息是獨立的,消息之間存在著邊界。·UDP在傳送數據之前不需要先建立連接。對方的傳輸層在收到UDP報文后,不需要給出任何確認。雖然UDP不提供可靠交付,但在某些情況下UDP是一種最有效的工作方式。An

Introduction

to

DatabaseNetwork

PrograSmSmymsitnegm1.1.4IP地址與域名An

Introduction

to

DatabaseSystem

IP地址就是標識計算機或網絡設備的網絡地址。在計算機內部它由四個字節的32位的二進制數組成,

為了方便,在外部使用時采用以小數點“.”分隔的四組十進制數表示。比如6等,所以IP地址的每一組數字都不能超過255。每一臺計算機的IP地址是唯一的。(ipv4,ipv46)

由于IP地址含義不明確且不太方便記憶,在實際應用中大多使用主機名(有的也稱域名),如

就比較明確,一看該網址就知道它是中央電視臺的網址。主機名是和IP地址是一一對應的,通過DNS(域名服務器)解析可以由主

機名獲得計算機或網絡設備的IP地址,因為對計算機或網絡設備而言只有IP地址才是有效的標識符。1.1.5端口號An

Introduction

to

DatabaseSystem一臺機器只通過一條鏈路連接到網絡上,但一臺機器中往往有很多應用程序需要進行網絡通信,如何區分呢?這就要靠網絡端口號(port)了。端口號是一個標記機器的邏輯通信信道的正整數,端口號不是物理實體。端口是一種抽象的軟件結

構(包括一些數據結構和I/O緩沖區)。應用程序通

過系統調用與某端口建立連接后,傳輸層傳給該端口的數據都被相應的進程(應用程序)所接收,相應進程發給傳輸層的數據都通過該端口輸出。1.1.5端口號System

端口用一個整數型標識符來表示,即端口號。端口號跟協議相關,TCP/IP傳輸層的兩個協

議TCP和UDP是完全獨立的兩個軟件模塊,因

此各自的端口號也相互獨立。也就是說,基

于TCP和UDP協議的不同的網絡應用程序,它

們可以擁有相同的端口號。端口使用一個16位的數字來表示,它的范圍是(0~65535),1024以下的端口號保留給預定義的服務。例如:http使用80端口。我們在編寫網絡應用程序時,要為程序指定1024以上的端口號。An

Introduction

to

Database表1.1一些典型的應用層協議分配到的保留端口FTPTCP的保留端口21DNSUDP的保留端口53HTTP80TFTP69SMTP25SNMP161POP3110……其余的端口號,1024-65535,稱為自由端口號,采System用本地分配,又稱為動態分配的方法。An

Introduction

to

Database總之,TCP或UDP端口的分配規則是:端口0:不使用,或者作為特殊的使用;

端口1-255:保留給特定的服務,TCP和UDP均規定,小于256的端口號才能分配給網上著名的服務;端口256-1023:保留給其他的服務,如路由;端口1024-4999:可以用作任意客戶的端口;端口5000-65535:可以用作用戶的服務器端口。An

Introduction

to

DatabaseSystem1.2網絡程序設計基礎An

Introduction

to

DatabaseSystem客戶機/服務器模型模型Internet和大多數現代網絡應用程序都采用客戶/服務器模型,這種分布式架構是幾乎所有用戶同Internet交互的基礎。客戶端向服務器發出請求,服務器通過執行操作(如將信息發回客戶端)做出響應,這就是客戶/服務器模型的重要特征。

客戶-服務器模式描述的是進程之間的服務和被服務的關系。在這種模式下,大多數網絡應用系統由兩部分組成:客戶(Client)和服務器(Server)。客戶是主叫方,服務器是被叫方。

客戶與服務器的通信關系一旦建立,通信就可以是雙向的,客戶和服務器都可以發送和接收信息。1.2.1客戶機/服務器模型模型An

Introduction

to

DatabaseSystem1、客戶程序與客戶機2、服務器程序與服務器。1.3.2套接字(SOCKET)An

Introduction

to

DatabaseSystem

套接字應用程序編程接口是網絡應用程序通過網絡協議棧進行通信時所使用的接口,即應用程序與協議棧軟件之間的接口,簡稱套接字編程接口(Socket

API)。

它定義了應用程序與協議棧軟件進行交互時可以使用的一組操作,決定了應用程序使用協議棧的方式、應用程序所能實現的功能、以及開發具有這些功能的程序的難度。應用進程、套接口、網絡協議棧及操作系統的關系An

Introduction

to

DatabaseSystem1.3

Java語言與網絡通信An

Introduction

to

DatabaseSystemJava語言是Internet上最熱門的編程語言,java語言是Internet上的世界語,在Java語言中,與網絡編程有關的基本API位于

包中,提供網絡功能的類和接口主要分為三種:①套接字Socket:直接在程序中實現網絡通訊②WEB的編程接口。③URL(Uniform

Resource

Locators,統一資源定位器):屬于網絡應用中的高級應用。通過指定的URL對象,能夠很容易地確定網絡資源的位置;使用這種方式,Java程序可以直接讀取或傳送數據到網絡中。其對Socket編程進行了封裝。包中的主要的類UnknownServiceExceptionAn

Introduction

to

DatabaseSystem面向IP層的類:InetAddress面向應用層的類:URL、URLConnection面向網絡層的類:TCP協議相關類:Socket、ServerSocket

UDP協議相關類:DatagramPacket、DatagramSocket、MulticastSocket可能產生的例外:

BindException、ConnectExc

溫馨提示

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

評論

0/150

提交評論