Java2程序設計基礎第十六章課後習題

  1. 什麼是URL?URL地址由哪幾個部分組成?
    統一資源定位器(uniform resource locator, URL)表示Intnernet上某一資源的地址。
    URL地址由5個部分組成:
    <傳輸協議>://<主機名>:<端口號>/<文件名>#<引用>
  2. 什麼是Socket?它與TCP/IP協議有何關係?
    IP地址和端口號組成了所謂的Socket。
    Socket是網絡上運行的程序之間雙向通信鏈路的最後終結點,是TCP和UDP的基礎。
  3. 簡述流式Socket通信機制,它的最大特點是什麼?爲什麼可以實現無差錯通信?
    流連接的優點是,所有數據都能準確、有序地送到對方,缺點是速度較慢。流式Socket所完成的通信是基於連接的通信,即在通信開始之前先由通信雙方確認身份並建立一條專用的虛擬連接通道,然後它們通過這條通道傳送數據信息進行通信,當通信結束時再將原先所建立的連接拆除。
  4. 什麼是端口號?服務器端和客戶端分別如何使用端口號?
    端口號是一個標記機器的邏輯通信信道的正整數,端口號不是物理實體。
    當兩個程序進行連接之前要約定好端口號。由服務器端分配端口號並等候請求,客戶端利用這個端口號發出連接請求,當兩個程序所設定的端口號一致時連接建立成功。
  5. 什麼是套接字?其作用是什麼?
    Socket原意爲“插座”,在通信領域中譯爲“套接字”,意思是將兩個物品套在一起,在網絡通信裏的含義就是建立一個連接。
  6. 編寫Java程序,使用InetAddress類實現根據域名自動到DNS(域名服務器)上查找IP地址的功能。
  7. 用Java程序實現流式Socket通信,需要使用哪兩個類?它們是如何定義的?應怎樣使用?
    Socket類和ServerSocket類。
    Socket類用在客戶端,用戶通過創建一個Socket對象來建立與服務器的連接。
    ServerSocket類的作用是實現客戶-服務器模式的通信方式下服務器端的套接字。
try {
    Socket mysocket = new Socket(http://www.gduf.edu.cn, 1880);
} catch (IOException e) {}

try {
    ServerSocket server_socket = new ServerSocket(1880);
} catch (IOException e) {}
try {
    Socket sc = server_socket.accept();
} catch (IOException e) {}
  1. 與流式Socket相比,數據報通信有何特點?
    數據報通信是一種在網絡中傳輸的、獨立的、自身包含地址信息的數據單位,不保證傳送順序和內容的準確性。
    它無須建立、拆除連接,直接將信息打包傳向指定的目的地。
    由於該種通信方式不能保證所有數據傳送到目的地,所以一般用於傳送非關鍵的數據。

注:練習均爲博主自己編寫,不是標準答案,可能存在問題,可以留言討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章