已采納回答 / elec_Russell
直接關(guān)閉一個(gè)空指針會(huì)產(chǎn)生異常,因此要判斷;如果值為null并不是說他已經(jīng)被關(guān)閉了,而是沒有正確賦值,例如丟包什么的。。
2016-09-03
已采納回答 / noWayGo
不會(huì)循環(huán)執(zhí)行,因?yàn)閟ocket在沒有接收到客戶端的消息時(shí)時(shí)阻塞在socket=serverSocket.accept()這一步的
2016-09-03
已采納回答 / ccc3ccc
<...圖片...>對(duì)于同一個(gè)Socket,如果關(guān)閉了輸出流,則與該輸出流關(guān)聯(lián)的socket也會(huì)被關(guān)閉,所以一般不用關(guān)閉流,直接關(guān)閉socket節(jié)課
2016-08-30
已采納回答 / 慕碼人6258760
一個(gè)是在循環(huán)條件里讀取下一行,一個(gè)是在循環(huán)體內(nèi)讀取下一行,作用是一樣的。
已采納回答 / 呆呆3774489
進(jìn)程阻塞狀態(tài)也稱進(jìn)程等待狀態(tài),是指進(jìn)程等待某一特定事件的出現(xiàn)(如I/O操作),在該過程中,進(jìn)程依舊位于內(nèi)存內(nèi),且占有CPU資源.
已采納回答 / Airly
驗(yàn)證非NULL是編碼中很重要的一環(huán)。假如本來就是NULL,這是調(diào)用各自的close()方法是會(huì)報(bào)錯(cuò)的。如果在實(shí)例化這些對(duì)象時(shí)出錯(cuò)導(dǎo)致這些對(duì)象為NULL,或是實(shí)例化沒問題但中途出了什么異常導(dǎo)致這些對(duì)象為NULL,都會(huì)在未經(jīng)驗(yàn)證非NULL前嘗試調(diào)用close()方法關(guān)閉時(shí)報(bào)錯(cuò)。
2016-08-05
已采納回答 / 霸氣小剛
實(shí)現(xiàn)多線程的方法不止繼承Thread一種實(shí)際上老師說的是每一個(gè)客戶端對(duì)應(yīng)一個(gè)服務(wù)器端(每次響應(yīng)一個(gè)客戶端,都要用多線程啟動(dòng)一個(gè)服務(wù)器端)你說的那種情況是多個(gè)客戶端對(duì)應(yīng)一個(gè)服務(wù)器端,顯示效果是一樣的
2016-08-05
已采納回答 / 墓頭回
服務(wù)器是一直處于啟動(dòng)狀態(tài)的,客戶端則是分別處于各自的情況,他們通過socket進(jìn)行通信,通過流來讀取寫入要溝通的消息。服務(wù)器端不是從頭開始運(yùn)行,而是從while循環(huán)里開始的。
已采納回答 / 應(yīng)龍
錨點(diǎn)是一種超鏈接,只是它是頁面內(nèi)部的超鏈接。http://jingyan.baidu.com/album/8275fc86b79e6446a13cf66b.html
2016-08-03
已采納回答 / 想_自由
建立了新的線程后,顯示客戶端信息的方法在一個(gè)新的線程中執(zhí)行。也就是說 顯示當(dāng)前客戶端數(shù)量和ip地址信息的方法在一個(gè)線程中,處理接收客戶端的輸出信息在另一個(gè)線程中。兩個(gè)線程同時(shí)執(zhí)行,而顯示客戶端的數(shù)量這邊的方法很簡單,執(zhí)行起來時(shí)間短,所以先輸出出來了。你可以在count++前添加sleep函數(shù)讓該線程暫停一會(huì),結(jié)果就會(huì)反過來。
2016-08-03