freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程(下)ppt-展示頁(yè)

2024-10-27 14:50本頁(yè)面
  

【正文】 不強(qiáng)大,恰恰相反,正因?yàn)閷哟蔚停?Socket編程比基于URL的網(wǎng)絡(luò)編程提供了更強(qiáng)大的功能和更靈活的控制,但是卻要更復(fù)雜一些。 Socket通訊 ? 在傳統(tǒng)的 UNIX環(huán)境下可以操作 TCP/IP協(xié)議的接口不止 Socket一個(gè), Socket所支持的協(xié)議種類也不光TCP/IP一種,因此兩者之間是沒(méi)有必然聯(lián)系的。 Socket通常用來(lái)實(shí)現(xiàn)客戶方和服務(wù)方的連接。 1.獲取 Inter主機(jī)的地址 ? 我們可以使用 IAddress類的靜態(tài)方法getByname(String s)將一個(gè)域名或者一個(gè) IP地址傳遞給該方法的參數(shù) s,獲得一個(gè)IAdress的對(duì)象該對(duì)象就會(huì)包含如下信息: ? , ? 另外 IAddress類中含有兩個(gè)實(shí)例方法: ? public String getHostName()獲取域名 ? public String getHostAddress()獲得 IP地址 2.獲取本地主機(jī)地址 ? 使用 IAddress類的靜態(tài)方法,getLocalHost()獲得的對(duì)象中包含我們本機(jī)的域名和 IP地址。 ? 通過(guò)返回的輸入 /輸出流我們可以與遠(yuǎn)程對(duì)象進(jìn)行通信。 ? } catch (MalformedURLException e) { //創(chuàng)建 URL()對(duì)象失敗 ? // … ? } catch (IOException e) { //openConnection()失敗 ? // … ? } ? } ? } ? 類 URLConnection提供了很多方法來(lái)設(shè)置或獲取連接參數(shù),程序設(shè)計(jì)時(shí)最常使用的是getInputStream()和 getOurputStream(),其定義為: ? InputSteram getInputSteram()。 ? import 。 ? import 。如果連接過(guò)程失敗,將產(chǎn)生 IOException。當(dāng)與一個(gè) URL建立連接時(shí),首先要在一個(gè) URL對(duì)象上通過(guò)方法 openConnection()生成對(duì)應(yīng)的URLConnection對(duì)象。 URLConction連接 WWW ? 通過(guò) URL的方法 openStream(),我們只能從網(wǎng)絡(luò)上讀取數(shù)據(jù),如果我們同時(shí)還想輸出數(shù)據(jù),例如向服務(wù)器端的 CGI程序發(fā)送一些數(shù)據(jù),我們必須先與 URL建立連接,然后才能對(duì)其進(jìn)行讀寫(xiě),這時(shí)就要用到類 URLConnection了。 // 關(guān)閉輸入流 ? } ? } ? 程序執(zhí)行后,會(huì)根據(jù)指定的 URL地址 URL對(duì)象,然后調(diào)用此 URL對(duì)象的 openStream()方法獲取URL資源,生成 in輸入流,在 while循環(huán)中讀取輸入流,調(diào)用 println()方法,把讀入的數(shù)據(jù)流打印到屏幕上。 ? while ((inputLine = ()) != null) ? // 從輸入流不斷的讀數(shù)據(jù),直到讀完為止 ? (inputLine)。 ? // 構(gòu)建一 URL對(duì)象 ? BufferedReader in = new BufferedReader(new InputStreamReader(tirc ? .openStream()))。 ? import 。 ? import 。 ? 方法 openSteam()與指定的 URL建立連接并返回 InputStream類的對(duì)象,以便從這一連接中讀取數(shù)據(jù)。 ? } ? } 程序的執(zhí)行結(jié)果如下所示: URL讀取 WWW網(wǎng)絡(luò)資源 ? 當(dāng)我們得到一個(gè) URL對(duì)象后,就可以通過(guò)它讀取指定的 WWW資源。 ? (UserInfo= + ())。 ? (query= + ())。 ? (port= + ())。 ? (host = + ())。 ? public class ParseURL { ? public static void main(String[] args) throws Exception { ? URL Aurl = new URL( ? URL tuto = new URL(Aurl, DOWNLOADING)。 ? public String getPath() 獲取該 URL的路徑 ? public String getAuthority() 獲取該 URL的權(quán)限信息 ? public String getUserInfo() 獲得使用者的信息 ? public String getRef() 獲得該 URL的錨 【 例 101】 生成一個(gè) URL對(duì)象,并獲取它的各個(gè)屬性。 ? public String getRef() 獲取該 URL在文件中的相對(duì)位置。 ? public int getPort() 獲取該 URL的端口號(hào),如果沒(méi)有設(shè)置端口,返回 1。格式如下: ? try{ ? URL myURL= new URL(…) ? }catch (MalformedURLException e){ ? … ? //exception handler code here ? … ? } URL ? 一個(gè) URL對(duì)象生成后,其屬性是不能被改變的,但是我們可以通過(guò)類 URL所提供的方法來(lái)獲取這些屬性: ? public String getProtocol() 獲取該 URL的協(xié)議名。 ? URL gamelan=new URL(, , 80, ? Pages/)。 ? 4) public URL(String protocol, String host, int port, String file)。 ? 通過(guò)協(xié)議,主機(jī)名,文件名或路徑,構(gòu)造一個(gè) URL對(duì)象。 ? 通過(guò)基準(zhǔn) URL和文件名或路徑相對(duì) URL,構(gòu)造一個(gè) URL對(duì)象。 ? 通過(guò)一個(gè)表示 URL地址的字符串,構(gòu)造一個(gè)URL對(duì)象。 URL ? 為了表示 URL, URL。 ? fragment,信息片斷,字符串,用于指定網(wǎng)絡(luò)資源中的片斷。 ? ?query(查詢 ):可選,用于給動(dòng)態(tài)網(wǎng)頁(yè)(如使用CGI、 ISAPI、 PHP/JSP/ASP/的網(wǎng)頁(yè))傳遞參數(shù),可有多個(gè)參數(shù),用“ amp。 ? 。有時(shí)候出于安全或其他考慮,可以在服務(wù)器上對(duì)端口進(jìn)行重定義,即采用非標(biāo)準(zhǔn)端口號(hào),此時(shí), URL中就不能省略端口號(hào)這一項(xiàng)。 ? :port(端口號(hào)):整數(shù),可選,省略時(shí)使用方案的默認(rèn)端口,各種傳輸協(xié)議都有默認(rèn)的端口號(hào),如 的默認(rèn)端口為 80。 ? hostname(主機(jī)名):是指存放資源的服務(wù)器的域名系統(tǒng) (DNS) 主機(jī)名或 IP 地址。(代表軟件:快車) 格式 ? thunder 通過(guò) 支持 thunder(專用下載鏈接)協(xié)議的 P2P軟件訪問(wèn)該資源。(代表軟件: Windows Media Player)格式 ? ed2k 通過(guò) 支持 ed2k(專用下載鏈接)協(xié)議的 P2P軟件訪問(wèn)該資源。 格式 ? mailto 資源為電子郵件地址,通過(guò) SMTP 訪問(wèn)。 ? 通過(guò) HTTP 訪問(wèn)該資源。格式 ? ftp 通過(guò) FTP訪問(wèn)資源。 最常用的是 HTTP協(xié)議,它也是目前 WWW中應(yīng)用最廣的協(xié)議。例如: ? ?name=tomamp。 URL的組成 ? URL的一般格式為 (帶方括號(hào) []的為可選項(xiàng) ): ? hostname[:port] / path / [。而且在目前使用最為廣泛的 TCP/IP中對(duì)于 URL中主機(jī)名的解析也是協(xié)議的一個(gè)標(biāo)準(zhǔn),即所謂的域名解析服務(wù)。 ? URL是最為直觀的一種網(wǎng)絡(luò)定位方法。通過(guò)URL我們可以訪問(wèn) Inter上的各種網(wǎng)絡(luò)資源,比如最常見(jiàn)的 WWW, FTP站點(diǎn)。 ? 在編程處理上,一般先生成一個(gè) URL類型的對(duì)象,然后用 Java中相應(yīng)的方法( method)獲取該對(duì)象所代表的資源。 URL及應(yīng)用示例 ? Java程序可以獲取網(wǎng)絡(luò)上結(jié)點(diǎn)的圖象、聲音、HTML文檔及文本等資源,并可以對(duì)獲得的資源進(jìn)行處理。 ? 總之, TCP在網(wǎng)絡(luò)通信上有極強(qiáng)的生命力,例如遠(yuǎn)程連接( Tel)和文件傳輸( FTP)都需要不定長(zhǎng)度的數(shù)據(jù)被可靠地傳輸。 UDP是一個(gè)不可靠的協(xié)議,發(fā)送方所發(fā)送的數(shù)據(jù)報(bào)并不一定以相同的次序到達(dá)接收方。 ? 使用 UDP傳輸數(shù)據(jù)時(shí)是有大小限制的,每個(gè)被傳輸?shù)臄?shù)據(jù)報(bào)必須限定在 64KB之內(nèi)。 兩種協(xié)議簡(jiǎn)單比較 ? 使用 UDP時(shí),每個(gè)數(shù)據(jù)報(bào)中都給出了完整的地址信息,因此無(wú)需要建立發(fā)送方和接收方的連接。 發(fā)送方和接收方的成對(duì)的兩個(gè) socket之間必須建立連接 , 以便在 TCP協(xié)議的基礎(chǔ)上進(jìn)行通信 , 當(dāng)一個(gè) socket( 通常都是 server socket)等待建立連接時(shí) , 另一個(gè) socket可以要求進(jìn)行連接 , 一旦這兩個(gè) socket連接起來(lái) , 它們就可以進(jìn)行雙向數(shù)據(jù)傳輸 , 雙方都可以進(jìn)行發(fā)送或接收操作 。 ? TCP是 Tranfer Control Protocol的簡(jiǎn)稱 , 是一種面向連接的保證可靠傳輸?shù)膮f(xié)議 。 ? , tel, ftp, smtp ? 在 Inter上 IP地址和主機(jī)名是一一對(duì)應(yīng)的,通過(guò)域名解析可以由主機(jī)名得到機(jī)器的 IP,由于機(jī)器名更接近自然語(yǔ)言,容易記憶,所以使用比 IP地址廣泛,但是對(duì)機(jī)器而言只有 IP地址才是有效的標(biāo)識(shí)符。如: ? ? ? 端口號(hào)( port number):網(wǎng)絡(luò)通信時(shí)同一機(jī)器上的不同進(jìn)程的標(biāo)識(shí)。 ? IP地址:標(biāo)識(shí)計(jì)算機(jī)等網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)地址,由四個(gè) 8位的二進(jìn)制數(shù)組成,中間以小數(shù)點(diǎn)分隔。客戶則在需要服務(wù)時(shí)向服務(wù)器提出申請(qǐng) 。 ? 目前較為流行的網(wǎng)絡(luò)編程模型是客戶機(jī) /服務(wù)器 ( C/S) 結(jié)構(gòu) 。在 TCP/IP協(xié)議中 IP層主要負(fù)責(zé)網(wǎng)絡(luò)主機(jī)的定位,數(shù)據(jù)傳輸?shù)穆酚桑?IP地址可以唯一地確定 Inter上的一臺(tái)主機(jī)。Java程序設(shè)計(jì)基礎(chǔ)教程 ? 第 1章 Java 程序設(shè)計(jì)概述 ? 第 2章 Java基本的程序設(shè)計(jì)結(jié)構(gòu) ? 第 3章 類和對(duì)象 ? 第 4章 繼承、接口和內(nèi)部類 ? 第 5章 Java API ? 第 6章 Java 程序設(shè)計(jì)概述 ? 第 7章 多線程 ? 第 8章 文件和流 ? 第 9章 異常處理 ? 第 10章 Java網(wǎng)絡(luò)編程 ? 第 11章 Java Applet基礎(chǔ) ? 第 12章 常見(jiàn)數(shù)據(jù)結(jié)構(gòu)的 Java實(shí)現(xiàn) ? 第 13章 Java數(shù)據(jù)庫(kù)連接 JDBC ? 第 14章 Java多媒體編程 :圖形、圖像和聲音 第 10章 Java網(wǎng)絡(luò)編程 ? 網(wǎng)絡(luò)編程基礎(chǔ)知識(shí) ? URL及應(yīng)用示例 ? IAdress類 ? 基于套接字的低層次 Java網(wǎng)絡(luò)編程 ? UDP數(shù)據(jù)報(bào) ? 網(wǎng)絡(luò)編程的目的就是指直接或間接地通過(guò)網(wǎng)絡(luò)協(xié)議與其他計(jì)算機(jī)進(jìn)行通訊。網(wǎng)絡(luò)編程中有兩個(gè)主要的問(wèn)題,一個(gè)是如何準(zhǔn)確的定位網(wǎng)絡(luò)上一臺(tái)或多臺(tái)主機(jī),另一個(gè)就是找到主機(jī)后如何可靠高效的進(jìn)行數(shù)據(jù)傳輸。而TCP層則提供面向應(yīng)用的可靠的或非可靠的數(shù)據(jù)傳輸機(jī)制,這是網(wǎng)絡(luò)編程的主要對(duì)象,一般不需要關(guān)心 IP層是如何處理數(shù)據(jù)的。 即通信雙方一方作為服務(wù)器等待客戶提出請(qǐng)求并予以響應(yīng) 。服務(wù)器一般作為守護(hù)進(jìn)程始終運(yùn)行 , 監(jiān)聽(tīng)網(wǎng)絡(luò)端口 , 一旦有客戶請(qǐng)求 , 就會(huì)啟動(dòng)一個(gè)服務(wù)進(jìn)程來(lái)響應(yīng)該客戶 , 同時(shí)自己繼續(xù)監(jiān)聽(tīng)服務(wù)端口 , 使后來(lái)的客戶也能及時(shí)得到服務(wù) 。如: ? 和 ? 主機(jī)名( hostname):網(wǎng)絡(luò)地址的助記名,按照域名進(jìn)行分級(jí)管理。如 80、 2 2 25,其中 1~1024為系統(tǒng)保留的端口號(hào) ? 服務(wù)類型 (service):網(wǎng)絡(luò)的各種服務(wù)。 : TCP、 UDP ? 盡管 TCP/IP協(xié)議的名稱中只有 TCP這個(gè)協(xié)議名 , 但是在TCP/IP的傳輸層同時(shí)存在 TCP和 UDP兩個(gè)協(xié)議 。 通過(guò) TCP協(xié)議傳輸 , 得到的是一個(gè)順序的無(wú)差錯(cuò)的數(shù)據(jù)流 。 ? UDP是 User Datagram Protocol的簡(jiǎn)稱,是一種無(wú)連接的協(xié)議,每個(gè)數(shù)據(jù)報(bào)都是一個(gè)獨(dú)立的信息,包括完整的源地址或目的地址,它在網(wǎng)絡(luò)上以任何可能的路徑傳往目的地,因此能否到達(dá)目的地,到達(dá)目的地的時(shí)間以及內(nèi)容的正確性都是不能被保證的。對(duì)于 TCP協(xié)議,由于它是一個(gè)面向連接的協(xié)議,在 socket之間進(jìn)行數(shù)據(jù)傳輸之前必然要建立連接,所以在TCP中多了一個(gè)連接建立的時(shí)間。而 TCP沒(méi)有這方面的限制,一旦連接建立起來(lái),雙方的 socket就可以按統(tǒng)一的格式傳輸大量的數(shù)據(jù)。而 TCP是一個(gè)可靠的協(xié)議,它確保接收方完全正確地獲取發(fā)送方所發(fā)送的全部數(shù)據(jù)。相比之下UDP操作簡(jiǎn)單,而且僅需要較少的監(jiān)護(hù),因此通常用于局域網(wǎng)高可靠性的分散系統(tǒng)中 client/server應(yīng)用程序。例如 Java程序可以每隔一定時(shí)間讀取某結(jié)點(diǎn)提供的最新數(shù)據(jù),并以圖表的形式
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1