網絡通信項目總結之二

      前面我們實現了簡單的網絡通信服務端。當然,那個是最簡單的版本,還有很多需要改進的地方。比如服務器一連接一個客戶機就退出,我們就可以將ServerSocket的accept()方法放在一個循環中調用:進入一個客戶機,當服務器與這個客戶機通信完畢後,服務器就再次進入循環中,重新調用accept()方法等待下一個客戶機連接進入。再比如一次只能有一個客戶機去連接,不然就會出錯。解決方法是把進入服務器的每一個連接對象(Socket)交給一個線程對象去處理,這樣隨後而來的連接就不用等待前面的連接被處理完畢了。

      接下來,我們要把服務端加以完善,實現能驗證客戶機用戶名密碼並登錄。實現羣聊和私聊的功能。此外,我們還要給服務端加上圖形化界面,這樣,簡單的服務器就可以運作了。

      然後我們要寫的是客戶端。客戶端需要兩界面,一個是登錄界面,一個是登錄後的聊天界面。客戶機連接服務器主要考慮的就是相互之間讀取信息的方法。一開始,我們用的是簡單的讀取字節流的方法。之後,在學習了XMPP通信之後,用了自定義的通信協議來實現各種消息的收發。之後我們還加了文件傳送,遠程監控等功能,實現上都差不多,不管文件傳送還是圖片傳送,本質上都是字節流的傳送。這樣就實現了一個簡單的網絡通信軟件。

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