五子棋項目需要使用Socket進行通信。遇到了很多問題,在這總結下,以後可以減少錯誤。
1、客戶端和服務器模型中,客戶端和服務器連接成功後會產生一個socket對象。使用socket對象進行接收信息如果只是socket.Receive()只會接收到一條信息。要使用While循環不斷的接收信息。使用While時要在恰當的時候退出循環。
2、客戶端或者服務器退出時會銷燬socket對象進而使得連接中斷。就會出現socket對象nullPointer異常,避免這種錯誤的方法是客戶端準備退出時通知服務器,讓服務器主動去結束連接。如果客戶端主動去結束連接會報異常,反之,不會報異常。
3、在編寫socket通信的軟件時首先要設計好消息格式和消息封裝和處理的部分。