可在廣域網部署執行的QQ高仿版 -- GG嘰嘰(原始碼)

C#開源即時通訊GGTalk發表於2013-08-07

前段時間看到園子裡有朋友開發了QQ高仿版的程式,我也非常有興趣,以前一直有個做即時聊天程式的夢,趁這段時間工作不是很忙,就開始動手來做這個事情。根據我以往積累下來的專案經驗,實現QQ的基本功能,問題應該不大。當然,我的目標並不是做一個QQ高仿版的玩具,而是希望做成一個能能夠真正使用的產品(當然是免費的),並持續維護下去。想為這個聊天工具取個名字,就抽取了“嘰嘰歪歪”中的“嘰嘰”(GG)作為暫時的名稱吧。

一.GG的功能規劃

我想分成幾個階段來開發GG,每個階段一個版本,從簡單到複雜,從玩具到產品。大體規劃如下:

1.GG V1.0

(1)登入、好友列表。

(2)文字聊天、字型設定、表情、視窗震動、截圖、手寫板

(3)檔案傳送、資料夾傳送

2.GG V2.0

(1)語音視訊聊天

(2)網盤

(3)遠端磁碟

目前,V2.0版本已經發布,語音視訊聊天、網盤、遠端磁碟等功能已經實現。

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 V1.0 功能展現

GG整個解決方案分為三個專案:服務端GG.Server(直接將ESFramework的demo的服務端搬了過來)、客戶端GG、定義訊息型別和協議的GG.Core。

至於GG V1.0是如何實現的,內部並不是很難(最困難的事情都讓上述框架給做了),大家可以下載原始碼自己研究,我就不多費口舌了。下面就截幾張執行時的圖片吧,跟QQ是不是非常像了?

1.登入框

 

2.主窗體

 

3.聊天視窗

 

 

四.原始碼下載

  下載最新版本,請轉到這裡。 

 注意:如果要將GG部署到廣域網,則可以在服務端的配置檔案中設定監聽的埠;而在客戶端的配置檔案中,則可以指定伺服器的IP和Port。

 

GG最新進展總覽連結:可在廣域網部署執行的QQ高仿版 -- GG2013總覽

大家有什麼問題和建議,可以留言,也可以傳送email到我郵箱:ggim2013@163.com。 

如果有人有興趣來參與GG後續版本的開發,那就更好了,儘管email給我。

如果你覺得還不錯,請粉我,順便再頂一下啊,呵呵 

 

 

 

相關文章