Android筆記——Socket通信實現簡單聊天室


兩部分,客戶端和服務端
----------------------------------------------------------------
客戶端 
1、為防止ANR異常,互聯網連接可用輕量級后台線程AsyncTask進行互Socket連接請求
2、實例化Socket,並設置連接的IP和端口號,try-catch捕獲異常
3、實例化輸入流InputStream和OutputStream,可包裝輸入流為BufferReader和包裝輸出流為BufferWriter,便於接收數據和發送數據
4、BufferReader.reaLine()解析每一行輸入流接收到的數據
5、BufferWriter.write()發送數據,特別注意發送信息必須"\n"結尾

圖片

圖片

圖片

----------------------------------------------------------------------------------------
服務端
1、Socket服務端需包含3大方面,Socket監聽器,Socket包裝類,Socket管理器,合理使用Thread多線程
2、Socket監聽器無限循環將監聽的Socket傳給Socket包裝類包裝,並將該包裝類添加至Socket管理器
3、Socket包裝類包含接收信息的方法和發送信息的方法
        接受信息的方法運行在線程方法run()中,並將接收的信息通過Socket管理器的群發方法群發
        發送信息的方法將信息發送出去
4、Socket管理器將自身靜態實例化
        提供獲得自身Socket管理器的方法getSocketManager(),返回Socket管理器
        實例化Vector<Socket包裝類>作為Socket包裝類的容器
        提供Socket包裝類容器增加內容的方法add(Socket包裝類)
        提供群發方法,通過循環遍歷Socket包裝類的容器,判斷不為自身便將信息發送出去

圖片
圖片


圖片

圖片圖片


圖片

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM