剛拿到這個項目的時候,自己就立刻聯想到了QQ和微信,這是當下最熱門的兩大聊天軟件。手指反復在手機上翻看著這兩個軟件,發現這兩個軟件的功能好強大啊,自己所學的這點系統和網絡編程的知識完全不夠看,感覺難度太大了。因為這兩款軟件用了比較強大的圖形界面,而我僅僅學習了c語言以及系統和網絡編程,唯一接觸到帶點圖框畫面的就只有curses圖形函數庫。
于是我就想到了老師們所提到的用來做圖形界面的qt,我開始上百度去查找相關的資料,網上很多都是在講這個軟件多么的厲害,但卻沒幾個講解怎么去用這個軟件。于是我就尋找相關的教學視頻,勉強的看了一集,發現我暫時是用不了了,因為這個圖形界面軟件是要在C++的基礎上制作的,我們還沒有開始接觸C++,所以我就放棄了用qt來做這個項目的想法。
我開始上網搜查能在C語言基礎上編寫圖形界面的庫函數,于是我便找到了用gtk開發環境來編寫圖形界面。我就在網上找了許多有關gtk相關的函數用法,自己慢慢嘗試了解這個函數的使用,從簡單的制作一個圖框到能輸入文字的登錄框,然后一個一個圖形鏈接的實現。登錄完成后,就進入主界面,到了這里也就遇到了一些問題了,在線好友列表可以顯示出來,但是無法實現實時更新好友界面,這個問題困擾了我很長的時間,期間也問過一些同學和老師,但他們都沒怎么用過這個庫函數,自己獨自在網上查了很多東西,一無所獲,也不斷地嘗試了好幾遍,皆以失敗而告終。
不知不覺已過去四天了,眼看答辯時間就快到了,根本沒有那么多的時間再去研究這個圖形界面了,當下心一橫,就先做個簡易的聊天軟件吧,不需要什么界面了,不然很難完成答辯的,于是到了周四晚上十點就開始著手簡易聊天軟件的編程。
有了之前四天時間的圖形界面的摸索,雖然并沒完成,但是大概構架思路基本已了然于胸,編寫起來就順手多了,差不多用了兩天時間就基本弄好了簡易版的了。
不過,總體來說還是有不少問題的,因為簡易版的功能比較少,僅僅就滿足了項目的大致要求,進入主界面后就只有顯示在線好友并實時刷新以及單聊和群聊功能了。在這個項目中可能自己一開始想的太好了,可沒想到圖形界面不是一朝一夕就能夠學好的,存在的問題還是挺多的,然后就是在簡易版編程過程中,數據傳輸問題偶爾會困擾自己。
總的來說,這次項目的感觸還是挺多的,有些東西自己可能想的還不夠全面,自己的能力也非常的有限,想好的許多功能都有點難實現,不過既然有挑戰,我也不會退縮,我會迎難而上,正所謂學如逆水行舟,遇到困難不是想著躲避,也不是一味去尋求他人的幫助,有些困難是需要自己去努力解決的,這樣才能更好的理解,更好的學到知識。