學習Java以來第一篇隨筆,寫一寫初學Socket程式設計中容易碰到的一個問題。照教材上的例子敲了下面這段單線程網路通訊的程式碼:
#
這段程式碼應該是初學Socket程式設計都要敲的一段,邏輯還是比較簡單的。但是一開始我的TCPServer類和TCPClient類運行後,在控制台無法打印出兩者通過流交互的信息,在這裡卡了很久,在網上查找了一下原因,基本確定了應該是輸入流或者輸出流阻塞了。但是試了很久還是沒有解決問題。後來偶然發現了BufferedReader類別的實例方法readLine()是在讀到換行符才回傳的,這才發現了阻塞原因,原來是我的客戶端和伺服器寫入輸出流的資訊根本就沒有換行。這樣readLine()始終沒有真正的返回,所以兩端沒有在輸出流中寫入內容,控制台自然打印不出內容。
這個問題其實挺低級的,不過也保不齊初學者不會犯。這裡注意簡單記錄一下,提醒自己一定要 注意細節。
以上是單線程網路通訊的實例代碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!