關(guān)于br.readLine()
在老師寫(xiě)的代碼里面server端while((info=br.readLine())!=null),這句代碼是可以執(zhí)行的。 但是當(dāng)我自己寫(xiě)的時(shí)候while((info=br.readLine())!=null)這句就一直阻斷在這。查閱了資料, br.readLine()這個(gè)方法是阻斷的,只有收到'\n'或者'\r'才會(huì)返回。因此,我在我代碼的 client端輸出的最后加了'\n',server端就能收到結(jié)果。很奇怪,為什么老師的client端發(fā)送的 內(nèi)容最后沒(méi)有'\n'但是仍然發(fā)送成功了。。。。。
2016-05-03
找到原因了,老師在client端關(guān)閉了io流,這個(gè)時(shí)候br.readLine()會(huì)返回空。如果不關(guān)閉io流,br.readLine()會(huì)一直阻塞。。。。