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

正文內(nèi)容

java語言程序設計基礎教程(異常處理和java網(wǎng)絡編程)ppt(參考版)

2024-10-19 16:19本頁面
  

【正文】 A、 getFile() B、 getProtocol() C、 getHost() D、 getPort() ? 一個 URL對象通常包含哪些信息? ? 怎樣讀取 URL中的資源? ? Java使用哪個組件來顯示 URL中的 HTML文件? 。這樣才能更好的理解這幾個程序,理解其中所包含的編程思想。讀者應該對 URL網(wǎng)絡編程, Socket中的 TCP, UDP編程進行大量的練習才能更好的掌握本章中所提到的一些概念,才能真正學到 Java網(wǎng)絡編程的精髓! ? 最后幾個小節(jié)所舉的例子,讀者務必要親自試驗一下,如果遇到問題,想辦法解決之。讀者通過學習,應該對網(wǎng)絡編程有了一個清晰的認識,可能對某些概念還不是十分的清楚,還是需要更多的實踐來進一步掌握。新程序完成的功能是使同時運行的多個客戶程序能夠接收到服務器發(fā)送來的相同的信息,顯示在各自的屏幕上。MulticastSocket用在客戶端,監(jiān)聽服務器廣播來的數(shù)據(jù)。給出端口號時要保證不發(fā)生端口沖突,否則會生成 SocketException類例外。 ? 其中, port指明 socket所使用的端口號,如果未指明端口號,則把 socket連接到本地主機上一個可用的端口。 ? DatagramSocket(int prot)。 DatagramSocket、DatagramPacket ? 包 DatagramSocket和DatagramPacket用來支持數(shù)據(jù)報通信, DatagramSocket用于在程序之間建立傳送數(shù)據(jù)報的通信連接,DatagramPacket則用來表示一個數(shù)據(jù)報。 ? UDP:不可靠,差錯控制開銷較小,傳輸大小限制在 64K以下,不需要建立連接。 Datagram ? 所謂數(shù)據(jù)報( Datagram)就跟日常生活中的郵件系統(tǒng)一樣,是不能保證可靠的寄到的,而面向鏈接的 TCP就好比電話,雙方能肯定對方接受到了信息。 UDP數(shù)據(jù)報 ? 前面在介紹 TCP/IP協(xié)議的時候,我們已經(jīng)提到,在 TCP/IP協(xié)議的傳輸層除了 TCP協(xié)議之外還有一個 UDP協(xié)議,相比而言 UDP的應用不如 TCP廣泛,幾個標準的應用層協(xié)議 HTTP, FTP, SMTP… 使用的都是TCP協(xié)議。服務器總是在指定的端口上監(jiān)聽是否有客戶請求,一旦監(jiān)聽到客戶請求,服務器就會啟動一個專門的服務線程來響應該客戶的請求,而服務器本身在啟動完線程之后馬上又進入監(jiān)聽狀態(tài),等待下一個客戶的到來。在實際應用中,往往是在服務器上運行一個永久的程序,它可以接收來自其他多個客戶端的請求,提供相應的服務。程序的意義請參考注釋。但是為了有效的利用資源,建議讀者按照合理的順序主動釋放資源。 ? ()。 ? ()。在關閉 Socket之前,應將與 Socket相關的所有的輸入 /輸出流全部關閉,以釋放所有的資源。 Socket ? 每一個 Socket存在時,都將占用一定的資源,在 Socket對象使用完畢時,要其關閉。 /出流 ? 類 Socket提供了方法 getInputStream ()和getOutStream()來得到對應的輸入 /輸出流以進行讀 /寫操作,這兩個方法分別返回InputStream和 OutputSteam類對象。程序中 accept()是一個阻塞函數(shù),所謂阻塞性方法就是說該方法被調用后,將等待客戶的請求,直到有一個客戶啟動并請求連接到相同的端口,然后accept()返回一個對應于客戶的 socket。 ? } ? } ? } ? 以上的程序是 Server的典型工作模式,只不過在這里 Server只能接收一個請求,接受完后 Server就退出了。 ? try { ? socket = ()。 ? //創(chuàng)建一個 ServerSocket在端口 4700監(jiān)聽客戶請求 ? } catch (IOException e) { ? (can not listen to : + e)。 ? public class ep10_7 { ? public static void main(String[] args) { ? ServerSocket server = null。 ? import 。 ServerSocket ? 【 例 107】 一個典型的創(chuàng)建 Server端 ServerSocket的過程。 ? } ? } ? } ? 這是最簡單的在客戶端創(chuàng)建一個 Socket的一個小程序段,也是使用 Socket進行網(wǎng)絡通訊的第一步,程序相當簡單,在這里不作過多解釋了。 ? public class ep10_6 { ? public static void main(String[] args) { ? try { ? Socket socket = new Socket(, 4700)。 ? import 。所以在創(chuàng)建 Socket或 ServerSocket是必須捕獲或拋出例外。 0~1023的端口號為系統(tǒng)所保留,例如 服務的端口號為 80, tel服務的端口號為 21, ftp服務的端口號為 23, 所以我們在選擇端口號時,最好選擇一個大于 1023的數(shù)以防止發(fā)生沖突。 ? 注意,在選擇端口時,必須小心。 ? 例如: ? Socket client = new Socket(., 80)。 ? ServerSocket(int port, int backlog, IAddress bindAddr) ? 其中 address、 host和 port分別是雙向連接中另一方的 IP地址、主機名和端口號, stream指明 socket是流 socket還是數(shù)據(jù)報 socket, localPort表示本地主機的端口號,localAddr和 bindAddr是本地機器的地址( ServerSocket的主機地址), impl是 socket的父類,既可以用來創(chuàng)建serverSocket又可以用來創(chuàng)建 Socket。 ? Socket(SocketImpl impl) ? Socket(String host, int port, IAddress localAddr, int localPort) ? Socket(IAddress address, int port, IAddress localAddr, int localPort) ? ServerSocket(int port)。 ? Socket(String host, int prot)。其構造方法如下: ? Socket(IAddress address, int port)。 Socket ? java在包 Socket和ServerSocket,分別用來表示雙向連接的客戶端和服務端。 ? 工作過程包含以下四個基本的步驟: ? ( 1) 創(chuàng)建 Socket; ? ( 2) 打開連接到 Socket的輸入 /出流; ? ( 3) 按照一定的協(xié)議對 Socket進行讀 /寫操作; ? ( 4) 關閉 Socket. ? 第三步是程序員用來調用 Socket和實現(xiàn)程序功能的關鍵步驟,其他三步在各種程序中基本相同。一個連接就建立起來了。 Socket通訊的一般過程 ? 前面已經(jīng)提到 Socket通常用來實現(xiàn) C/S結構。 ? 說 Socket編程是低層次網(wǎng)絡編程并不等于它功能不強大,恰恰相反,正因為層次低, Socket編程比基于 URL的網(wǎng)絡編程提供了更強大的功能和更靈活的控制,但是卻要更復雜一些。 Socket通訊 ? 在傳統(tǒng)的 UNIX環(huán)境下可以操作 TCP/IP協(xié)議的接口不止 Socket一個, Socket所支持的協(xié)議種類也不光 TCP/IP一種,因此兩者之間是沒有必然聯(lián)系的。 Socket通常用來實現(xiàn)客戶方和服務方的連接。 1.獲取 Inter主機的地址 ? 我們可以使用 IAddress類的靜態(tài)方法getByname(String s)將一個域名或者一個IP地址傳遞給該方法的參數(shù) s,獲得一個IAdress的對象該對象就會包含如下信息: ? , ? 另外 IAddress類中含有兩個實例方法: ? public String getHostName()獲取域名 ? public String getHostAddress()獲得 IP地址 2.獲取本地主機地址 ? 使用 IAddress類的靜態(tài)方法,getLocalHost()獲得的對象中包含我們本機的域名和 IP地址。 ? 通過返回的輸入 /輸出流我們可以與遠程對象進行通信。 ? } catch (MalformedURLException e) { //創(chuàng)建 URL()對象失敗 ? // … ? } catch (IOException e) { //openConnection()失敗 ? // … ? } ? } ? } ?
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1