網絡編程-對BufferReader所遇到的問題

在網絡編程中用BufferReader(以下簡稱br)來接受服務器或客戶端的數據。

當使用方法爲:

while((str = br.readLine()) != null){}

時,(假設對方已經發送完所有的文本)其語句爲阻塞式語句,處於一直等待狀態,此時若在while循環中,輸入:

str.isEmpty()是不可以的,因爲while的判斷語句一直處於等待狀態,無法進入循環內部。

目前只想到一種方案是讓客戶端與服務器約定一個結束符(如end):

while((str = br.readLine()) != null && !str.equal("end")){}

這樣就可以解決阻塞的問題了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章