java qq通信_结对博客(Java通信项目QQ)
項目名稱:JAVA通信項目——QQ
成員:邢正,鄭振蘭
項目需求:QQ每個人都用過,它的意義就不再講了。之所以選擇做QQ事因為它有挑戰性,涉及到通信、傳輸、swing等各種知識。(好吧我不裝逼了,說的直白點,代碼量大,如果寫五子棋貪吃蛇之類的絕對寫不到500行)
首先整個項目分為兩部分:客戶端和服務器。客戶端要完成的功能就是界面(主界面,好友列表,聊天界面)以及登錄、聊天功能。服務器作為后臺,負責通信連接。做項目時邏輯一定要清楚,類與類包與包之間的邏輯關系以及分層一定要明白
代碼截圖:
因為沒用數據庫也沒有用集合框架來記錄用戶信息,所以在登錄時直接在Myserver里進行判斷,賬號可以隨便填,但密碼必須是123456,不是則彈出提示框,是則跳轉到好友列表。聊天功能沒能實現從服務器轉發到客戶端,但是服務器已經可以抓到從客戶端輸入的信息。這里出了個錯,我們測試服務器抓信息時很正常,但是關閉界面后會報錯java.net.SocketException: Connection reset,應該是哪里的socket沒有正常關閉,但是不知道怎么解決了,就留下了這個bug。一開始還沒在意,繼續往后寫,當讓服務器像客戶端轉發消息時就出錯了。
可能是我太笨,實在是找不到一個好的角度自拍既可以拍到人有拍到電腦于是就這樣拍了一張(雖然怎么看都像是秀恩愛而不像是在敲代碼)
約定的規范:凡是涉及到界面設計的,需要加監聽的地方,起名字都必須直觀方便;客戶端和服務器端必須有一個名字相同的包如com.commen,用來存放User,Message等類;端口號為9999;所有類的命名需要統一協商以便調用以及類里的方法或成員變量;規定好消息包,如1代表信息正確可以登錄,2表示信息錯誤,還有其他消息包;每個功能前加注釋。
記錄時間:選題10min
分工、編寫程序、調試總共用了四天(包括查書看視頻)
心得體會:動嘴容易動手難,感覺挺好做的東西真正做起來會遇到很多問題,通信、流這里的知識不牢固,需要看著書才能敲出來,出了差錯解決起來也不簡單,項目涉及到集合框架知識,這里需要再系統學一學。不管以后做什么項目,一定要動手做,光看視頻是很難掌握的,就算對著視頻敲下來,也會發生一些錯誤,我這里出現最多的就是jdk版本問題……當然還有其他小問題,只好向度娘求助。
總結
以上是生活随笔為你收集整理的java qq通信_结对博客(Java通信项目QQ)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++类的内联成员函数应放在哪
- 下一篇: java美元兑换,(Java实现) 美元