網絡編程技術復習題1java習題_第1頁
網絡編程技術復習題1java習題_第2頁
網絡編程技術復習題1java習題_第3頁
網絡編程技術復習題1java習題_第4頁
網絡編程技術復習題1java習題_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 一練習題1 問題:Java網絡程序位于TCP/IP參考模型的哪一層?(單選) 選項:B a) 網絡層互聯層 b) 應用層 c) 傳輸層網絡 d) 主機-網絡層練習題2 問題:以下哪些協議位于傳輸層?(多選) 選項:AD a) TCP b) HTTP c) SMTP d) UDP f)IP練習題3 問題:假定一個進程已經占用TCP的80端口,它還能否占用UDP的80端口?(單選)A 選項: a)可以 b)不可以練習題4 問題:.一個客戶進程執行以下代碼Socket socket1=new Socket(host,port);Socket socket2=new Socket(host,port

2、);以下哪些說法正確?(多選) 選項:AC a)socket1與socket2占用不同的本地端口。 b) Socket構造方法中的port參數指定占用的本地端口。 c) 當Socket構造方法成功返回,就表明建立了與服務器的一個TCP連接。 d) 執行第二行程序代碼會拋出異常,因為一個客戶進程只能與服務器端建立一個TCP連接。練習題5 問題:有一種協議規定:如果客戶端發送一行字符串“date”,服務器端就返回當前日期信息,如果客戶端發送一行字符串“exit”,服務器端就結束與客戶端的通信。這種協議應該屬于哪一層的協議?(單選) 選項:B a) 網絡層互聯層 b) 應用層 c) 傳輸層網絡 d)

3、 主機-網絡層練習題6 問題:HTTP協議規定,默認情況下,HTTP服務器占用的TCP端口號是什么?(單選) 選項:C a)21 b)23 c)80 d)任意一個未被占用的端口號練習題7 問題:在客戶/服務器通信模式中,客戶與服務器程序的主要任務是什么?(多選) 選項:BC a) 客戶程序在網絡上找到一條到達服務器的路由。 b) 客戶程序發送請求,并接收服務器的響應。 c) 服務器程序接收并處理客戶請求,然后向客戶發送響應結果。 d) 如果客戶程序和服務器都會保證發送的數據不會在傳輸途中丟失。練習題8 問題:從哪里可以找到描述TCP/IP協議的具體文檔?(單選) 選項:D a) JDK的Jav

4、aDoc文檔 b) NIC的官方網站 c) 國際標準化組織(ISO)的官方網站 d) RFC的官方網站練習題9 問題:一個服務器進程執行以下代碼:ServerSocket serverSocket=new ServerSocket(80);Socket socket=serverSocket.accept();int port=socket.getPort();以下哪些說法正確?(多選) 選項:ACD a) 服務器進程占用80端口。 b) socket.getPort()方法返回服務器進程占用的本地端口,此處返回值是80。 c) 當serverSocket.accept()方法成功返回,就表明

5、服務器進程接收到了一個客戶連接請求。 d) socket.getPort()方法返回客戶端套節字占用的本地端口。二練習題1 問題:對于以下程序代碼:Socket socket=new Socket(); /第1行SocketAddress remoteAddr1=new InetSocketAddress("localhost",8000); /第2行SocketAddress remoteAddr2=new InetSocketAddress("localhost",8001); /第3行socket.connect(remoteAddr1, 6000

6、0); /第4行socket.connect(remoteAddr2, 60000); /第5行下面哪些說法是正確的?(多選) 選項:CDE a)以上程序代碼可以順利編譯和運行通過。 b)第1行程序代碼創建了一個與本地匿名端口綁定的Socket對象。 c) 第1行程序代碼創建的Socket對象沒有與任何服務器建立連接,并且沒有綁定任何本地端口。 d) 第5行程序代碼會運行出錯,因為一個Socket對象只允許建立一次連接。 e) 第4行程序代碼使Socket對象與一個服務器建立連接,并且綁定一個本地匿名端口。練習題2 問題: 當客戶端執行以下程序代碼時:Socket socket=new Soc

7、ket("angel",80);如果遠程服務器angel不存在,會出現什么情況?(單選) 選項:A a) 構造方法拋出UnknownHostException異常。 b) 客戶端一直等待連接,直到連接超時,從而拋出SocketTimeoutException。 c) 拋出BindException。 d) 構造方法返回一個Socket對象,但它不與任何服務器連接。練習題3 問題:Socket類的哪個方法返回Socket對象綁定的本地端口?(單選) 選項:B a) getPort() b) getLocalPort() c) getRemotePort() d) 不存在這樣的

8、方法,因為Socket對象綁定的本地端口對程序是透明的。練習題4 問題:以下兩段程序代碼是否等價?(單選)/第一段程序socket.shutdownInput();socket.shutdownOutput();/第二段程序socket.close(); 選項:B a)等價 b)不等價練習題5 問題:以下哪個選項設定Socket的接收數據時的等待超時時間?(單選) 選項:D a) SO_LINGER b) SO_RCVBUF c) SO_KEEPALIVE d) SO_TIMEOUT練習題6 問題:如何判斷一個Socket對象當前是否處于連接狀態?(單選) 選項:B a) boolean is

9、Connected=socket.isConnected() && socket.isBound(); b) boolean isConnected=socket.isConnected() && !socket.isClosed(); c) boolean isConnected=socket.isConnected() && !socket.isBound(); d) boolean isConnected=socket.isConnected();練習題7 問題:客戶程序希望底層網絡的IP層提供高可靠性和最小延遲傳輸服務,客戶程序中應該如何

10、提出這一請求?(單選) 選項:C a)調用Socket的setPerformancePreferences()方法。 b)設置Socket的SO_SERVICE選項。 c)調用Socket的setTrafficClass()方法。 d)客戶程序無法提出這種請求,必須直接配置底層網絡。三 練習題1 問題:關于ServerSocket構造方法的backlog參數,以下哪些說法是正確的?(多選) 選項:ABDF a) backlog參數用來顯式設置操作系統中的連接請求隊列的長度。 b)如果沒有設置backlog參數,那么連接請求隊列的長度由操作系統決定。 c)當服務器端的連接請求隊列已滿,客戶端就無

11、法建立與服務器的連接。 d)如果backlog參數的值大于操作系統限定的隊列的最大長度,那么backlog參數被忽略。 e)連接請求隊列直接由ServerSocket創建并管理。 f) ServerSocket的accept()方法從連接請求隊列中取出連接請求。練習題2 問題:對于以下程序代碼:ServerSocket serverSocket=new ServerSocket(8000);serverSocket.setReuseAddress(true); 哪個說法是正確的?(單選) 選項:C a)以上代碼運行時出錯 b)以上代碼編譯時出錯 c)以上代碼盡管編譯和運行不會出錯,但對SO_R

12、EUSEADDR選項的設置無效 d)以上說法都不正確練習題3 問題:如何判斷一個ServerSocket已經與特定端口綁定,并且還沒有被關閉? (單選) 選項:B a) boolean isOpen=serverSocket.isBound(); b)boolean isOpen=serverSocket.isBound() && !serverSocket.isClosed(); c) boolean isOpen=serverSocket.isBound() && serverSocket.isConnected(); d) boolean isOpen=!

13、serverSocket.isClosed();練習題4 問題:ServerSocket與Socket都有一個SO_TIMEOUT選項,它們的作用是否相同? 選項:B a)相同 b)不同四練習題1 問題:在服務器程序中,線程在哪些情況可能會進入阻塞狀態? 選項:CDE a) 線程執行Socket的getInputStream()方法獲得輸入流。 b) 線程執行Socket的getOutputStream()方法獲得輸出流。 c) 線程執行ServerSocket的accept()方法。 d) 線程從Socket的輸入流讀入數據。 e) 線程向Socket的輸出流寫一批數據。練習題2 問題:Se

14、rverSocketChannel可能發生哪些事件? 選項:A a) SelectionKey.OP_ACCEPT:接收連接就緒事件 b) SelectionKey.OP_CONNECT:連接就緒事件。 c) SelectionKey.OP_READ:讀就緒事件。 d) SelectionKey.OP_WRITE:寫就緒事件。練習題3 問題:SocketChannel可能發生哪些事件? 選項:BCD a) SelectionKey.OP_ACCEPT:接收連接就緒事件 b) SelectionKey.OP_CONNECT:連接就緒事件。 c) SelectionKey.OP_READ:讀就緒事

15、件。 d) SelectionKey.OP_WRITE:寫就緒事件。練習題4 問題:對于以下代碼:int n=socketChannel.read(byteBuffer); /假定n>=0byteBuffer.flip();假定執行socketChannel.read(byteBuffer)方法前,byteBuffer的容量、極限和位置分別為c、l和p,執行完以上代碼后,byteBuffer的容量、極限和位置分別是多少? 選項:B a) 容量為c,極限為l,位置為p+n b) 容量為c,極限為p+n,位置為0 c) 容量為l,極限為p+n,位置為0 d) 容量為c,極限為p+n,位置為p

16、+n練習題5 問題:在哪些情況,SelectionKey對象會失效? 選項:ACD a) 程序調用SelectionKey的cancel()方法。 b) 程序調用SelectionKey的close()方法。 c) 關閉與SelectionKey關聯的Channel。 d) 與SelectionKey關聯的Selector被關閉。練習題6 問題:線程執行Selector對象的select(long timeout)方法時進入阻塞狀態,在哪些情況,線程會從select()方法中返回? 選項:ABDE a) 至少有一個SelectionKey的相關事件已經發生。 b) 其他線程調用了Selecto

17、r對象的wakeup()方法。 c) 與Selector對象關聯的一個SocketChannel對象被關閉。 d) 當前執行select()方法的線程被其他線程中斷。 e) 超出了等待時間。練習題7 問題:默認情況下,SocketChannel對象處于什么模式? 選項:A a)阻塞模式 b)非阻塞模式五練習題1 問題: 在HTTP響應結果中,哪個狀態代碼表示響應成功? 選項:D a)404 b)405 c)500 d)200練習題2 問題:對于HTTP的POST請求方式,用戶提交的表單數據位于HTTP請求的哪一部分? 選項:B a) 請求頭中 b)請求正文中練習題3 問題:對于HTTP的GET

18、請求方式,用戶提交的表單數據位于HTTP請求的哪一部分? 選項:A a) 請求頭中 b)請求正文中練習題4 問題:HTTP請求中的請求頭與請求正文之間必須以空行隔開,同樣,HTTP響應中的響應頭與響應正文之間也必須以空行隔開。這句話是否正確? 選項:A a)正確 b)不正確六練習題1 問題:ContentHandler實例由誰創建? 選項:D a) URL類 b) URLConnection c) URLStreamHandler d) ContentHandlerFactory練習題2 問題: URLConnection類的doInput屬性和doOutput屬性的默認值分別是什么? 選項:

19、B a)true,true b)true,false c)false,false d)false,true練習題3 問題:URLConnection的getContent()方法會調用哪個類的getContent()方法? 選項:C a) URL類 b) URLStreamHandler類 c) ContentHandler類 d) 不會再調用其他類的getContent()方法練習題4 問題:setURLStreamHandlerFactory()方法是在哪個類中定義的? 選項:A a) URL類 b) URLStreamHandler類 c) ContentHandler類 d) URLC

20、onnection類練習題5 問題:以下哪些類具有相應的工廠類? 選項:BC a) URL類 b) URLStreamHandler類 c) ContentHandler類 d) URLConnection類七練習題1 問題:對于以下程序代碼:String text="<html><i>Hello World!</i></html>"JEditorPane jep=new JEditorPane();jep.setText(text);下面哪些說法正確? 選項:BD a) 在JEditorPane的界面上顯示斜體的“Hello

21、 World!” b) 在JEditorPane的界面上顯示普通文本“<html><i>Hello World!</i></html>” c) 默認情況下,JEditorPane的內容類型為"text/html" d) 默認情況下,JEditorPane的內容類型為"text/plain"練習題2 問題:當用戶瀏覽由JEditorPane展示的網頁,以下哪些行為會觸發HyperlinkEvent事件? 選項:AC a) 用戶選擇超級鏈接 b) 用戶把鼠標移動到網頁區域的任何位置 c) 用戶提交表單 d) 用

22、戶在網頁區域內點擊鼠標的右鍵練習題3 問題: hyperlinkUpdate()方法在哪個類中定義? 選項:D a) JEditorPane b) HyperlinkEvent c) FormSubmitEvent d) HyperlinkListener八練習題1 問題:以下哪些敘述是正確的? 選項:BC a) DatagramSocket的send(DatagramPacket src)方法發送數據報時,如果無法送達接收方,該方法會拋出IOException。 b) UDP協議是無連接的協議。 c) 對于用于接收數據的DatagramPacket,如果實際接收到的數據報的長度大于Datag

23、ramPacket的長度,那么多余的數據就會被丟棄。 d) DatagramSocket的getInputStream()方法用于獲得輸入流。練習題2 問題:以下是DatagramPacket的構造方法,哪些用于發送數據報? 選項:CD a)public DatagramPacket(byte data,int length) b)public DatagramPacket(byte data,int offset, int length) c)public DatagramPacket(byte data,int offset, int length,InetAddress address,

24、int port) d)public DatagramPacket(byte data,int offset,int length,SocketAddress address)練習題3 問題:當DatagramSocket接收到了來自任意一個主機的數據報,如果知道該數據報的發送者的UDP端口? 選項:A a) 調用DatagramPacket的getPort()方法 b) 調用DatagramSocket的getPort()方法 c) 調用DatagramPacket的getRemotePort()方法 d) 調用DatagramSocket的getRemotePort()方法練習題4 問題:關于DatagramSocket的connect()和disconnect()方法,下面哪些說法是正確? 選項:AC a) connect()方法使得DatagramSocket暫時只能與特定的遠程DatagramSocket通信。 b) DatagramSocket的connect()方法與Socket的conn

溫馨提示

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

評論

0/150

提交評論