您好,登錄后才能下訂單哦!
以前一直有要做個像QQ這樣的即時聊天程序的想法,趁這段時間工作不是很忙,就開始動手來做這個事情。根據我以往積累下來的項目經驗,實現QQ的基本功能,問題應該不大。當然,我的目標并不是做一個QQ高仿版的玩具,而是希望做成一個能能夠真正使用的產品(當然是免費的),并持續維護下去。想為這個聊天工具取個名字,就抽取了“嘰嘰歪歪”中的“嘰嘰”(GG)作為暫時的名稱吧。
我想分成幾個階段來開發GG,每個階段一個版本,從簡單到復雜,從玩具到產品。大體規劃如下:
1.GG V1.0
(1)登錄、好友列表。
(2)文字聊天、字體設置、表情、窗口震動、截圖、手寫板
(3)文件傳送、文件夾傳送
2.GG V2.0
(1)語音視頻聊天
(2)網盤
(3)遠程磁盤
3.GG V3.0
(1)GG群
(2)遠程協助
(3)視頻會議
4.GG V4.0
(1)聊天記錄
(2)離線消息
(3)離線文件
(4)增加持久化支持
5.GG V5.0 & more...
如果要完全從頭開發GG,其難度可想而知,所以,利用現有的成熟框架是必要的,我們必須站在別人的肩膀上,才能做得更快更好。GG V1.0 所采用的框架和素材如下:
(1)通信框架:ESFramework
(2)語音視頻:OMCS
(3)皮膚框架:SkinForm
(4)截屏類庫:ImageCapturerLib
(5)圖片素材:90%以上來自QQ。
ESFramework和OMCS都是園子里zhuweisky的作品,已經相當成熟,不多說。SkinForm是我從網上找的一套類似QQ界面的皮膚框架(沒有專門的項目網址),有些小bug,能將就用。ImageCapturerLib也是網上找的,并有源碼,我把發現的一個bug已經修復了。由于是高仿QQ,所以,GG中用到的絕大多數圖片都是從QQ里面拿過來的(商用也許會有版權問題)。
GG整個解決方案分為三個項目:服務端GG.Server(直接將ESFramework的demo的服務端搬了過來)、客戶端GG、定義消息類型和協議的GG.Core。
至于GG V1.0是如何實現的,內部并不是很難(最困難的事情都讓上述框架給做了),大家可以下載源碼自己研究,我就不多費口舌了。下面就截幾張運行時的圖片吧,跟QQ是不是非常像了?
1.登錄框
2.主窗體
3.聊天窗口
GG V1.0 源碼
注意:如果要將GG部署到廣域網,則可以在服務端的配置文件中設置監聽的端口;而在客戶端的配置文件中,則可以指定服務器的IP和Port。
大家有什么問題和建議,可以留言,也可以發送email到我郵箱:ggim2013@163.com。
如果有人有興趣來參與GG后續版本的開發,那就更好了,盡管email給我。
如果你覺得還不錯,請粉我,順便再頂一下啊,呵呵
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。