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