1. 程式人生 > >第一篇隨筆,果真還是要註意細節。

第一篇隨筆,果真還是要註意細節。

註意 輸入 交互 logs 自然 比較 .com 網絡 原因

  學習Java以來第一篇隨筆,寫一寫初學Socket編程中容易碰到的一個問題。照著教材上的例子敲了下面這段單線程網絡通信的代碼:

技術分享

技術分享

  這段代碼應該是初學Socket編程都要敲的一段,邏輯還是比較簡單的。但是一開始我的TCPServer類和TCPClient類運行後,在控制臺無法打印出兩者通過流交互的信息,在這裏卡了很久,在網上查找了一下原因,基本確定了應該是輸入流或者輸出流阻塞了。但是試了很久還是沒有解決問題。後來偶然發現了BufferedReader類的實例方法readLine()是在讀到換行符才返回的,這才發現了阻塞原因,原來是我的客戶端和服務器寫入輸出流的信息根本就沒有換行。這樣readLine()始終沒有真正的返回,所以兩端沒有在輸出流中寫入內容,控制臺自然打印不出內容。

  這個問題其實挺低級的,不過也保不齊初學者不會犯。這裏註意簡單記錄一下,提醒自己一定要 註意細節。

第一篇隨筆,果真還是要註意細節。