最新回答 / 有一種力量從不曾消逝
我的理解:1、首先您的這個(gè)buffer這個(gè)值就一直沒(méi)有變過(guò),相當(dāng)于是while(true)的效果2、為什么輸出null,不太清楚,不過(guò)把buffer.readLine()值賦給一個(gè)String變量,就不會(huì)為null。
2017-05-09
最新回答 / 慕萊塢1127548
個(gè)人覺(jué)得客戶端和服務(wù)器端在響應(yīng)完對(duì)方的消息之后都應(yīng)該關(guān)閉相應(yīng)的輸入流輸出流,所以在Server類和Client類里都要調(diào)用一次shutDownInput和shutDownOutput方法,老師沒(méi)有加響應(yīng)后的流關(guān)閉方法也沒(méi)出錯(cuò),大概是因?yàn)榭蛻舳撕头?wù)器端只交互了一次,可能之后再次交互的話就會(huì)出錯(cuò)。
2017-05-09
已采納回答 / 慕粉1356576729
socket那個(gè)是客戶端的,serverSocket是服務(wù)器的
已采納回答 / 慕粉1356576729
簡(jiǎn)單來(lái)講就是shutDownOutput只關(guān)閉了輸出流,輸入流還可以正常使用;而close則是會(huì)在關(guān)閉流的同時(shí)造成socket的關(guān)閉,輸入輸出流都不能用了,詳細(xì)的可參考:http://www.cnblogs.com/549294286/p/3947767.html
已采納回答 / 慕UI4724214
方向鍵
最新回答 / 慕少7573967
那好,你把電腦所有應(yīng)用程序打開(kāi),不關(guān),然后你再去運(yùn)行一個(gè)程序,要是你做了,還來(lái)問(wèn)這句話,算我輸
最新回答 / weibo_圖八的偏頭痛找到藥了_039
java 的異??梢苑譃閮蓚€(gè)大類,其中的RuntimeException 及其子類不要求捕捉,而其它的異常要求捕捉。比如RuntimeException 下的子異常,數(shù)組越界異常、空指針異常等。而非RuntimeException 異常有:Socket異常、IO異常等。RuntimeException 是在程序中可以完全避免的,比如數(shù)組越界異常,只要我在程序里作個(gè)判斷,如果要訪問(wèn)的數(shù)組元素下標(biāo)和數(shù)組的長(zhǎng)度作一下比較就知道會(huì)不會(huì)越界。而另一方面,非RuntimeException 則是程序無(wú)法避免的,比如I...
已采納回答 / 行走的仆累
對(duì)于同一個(gè)socket,如果關(guān)閉了輸出流,則與該輸出流關(guān)聯(lián)的socket也會(huì)被關(guān)閉,所以一般不用關(guān)閉流,直接關(guān)閉socket即可。
2017-05-02
最贊回答 / 愛(ài)笑的毛毛蟲(chóng)
Java的異常處理是通過(guò)5個(gè)關(guān)鍵詞來(lái)實(shí)現(xiàn)的:try、catch、throw、throws和finally。一般情況下是用try來(lái)執(zhí)行一段程序,如果系統(tǒng)會(huì)拋出(throw)一個(gè)異常對(duì)象,可以通過(guò)它的類型來(lái)捕獲(catch)它,或通過(guò)總是執(zhí)行代碼塊(finally)來(lái)處理;try用來(lái)指定一塊預(yù)防所有異常的程序;catch子句緊跟在try塊后面,用來(lái)指定你想要捕獲的異常的類型;throw語(yǔ)句用來(lái)明確地拋出一個(gè)異常;throws用來(lái)聲明一個(gè)方法可能拋出的各種異常(當(dāng)然聲明異常時(shí)允許無(wú)病呻吟);finally為確保...
最新回答 / 人生百態(tài)我在其中
client文件代碼中,socket.shutdownInput()這句錯(cuò)誤了,應(yīng)該是socket.shutdownOutput();
2017-04-27