源碼說明:
GGTalk是QQ的高仿版,包括客戶端和服務(wù)端,可在廣域網(wǎng)部署使用,是一個使用.net進行開發(fā)的即時通訊系統(tǒng)。我想寫一個類似匯總的文章,通過這篇文章,大家可以了解到GG的全貌和最新進展,以及關(guān)于一些常見問題的解答也匯總在這里。
言歸正傳,對我個人而言,我的目標并不是做一個QQ高仿版的玩具,而是希望做成一個能夠真正使用的產(chǎn)品(這個過程還有很長的路要走),并持續(xù)維護下去。
一.已實現(xiàn)的功能
(01)注冊、登錄、添加好友、好友列表。
(02)自拍頭像。
(03)文字聊天、字體設(shè)置、GIF動態(tài)表情、窗口震動、截圖、手寫板、登錄狀態(tài)(在線、離開、忙碌、勿打擾、隱身)、輸入提醒
(04)群功能:創(chuàng)建群、加入群、退出群、群聊天
(05)文件傳送、文件夾傳送(支持斷點續(xù)傳)
(06)語音視頻聊天
(07)遠程磁盤
(08)遠程協(xié)助
(09)共享桌面(可以指定要共享的桌面區(qū)域)
(10)可靠的P2P
(11)網(wǎng)盤
(12)離線消息
(13)離線文件
(14)托盤閃動:跟QQ完全一樣,當接收到消息時,托盤會閃動對應(yīng)好友的頭像。點擊頭像,將彈出與好友的聊天框。
(15)最近聯(lián)系人列表
(16)系統(tǒng)設(shè)置:開機自動啟動、麥克風(fēng)設(shè)備索引、攝像頭設(shè)備索引,叉掉主窗口時關(guān)閉程序還是隱藏窗口。
(17)聊天記錄:支持本地保存和服務(wù)器端保存兩種方式。
(18)好友分組:新增/刪除分組,修改分組名稱,改變好友的所屬分組。
(19)打開聊天窗口時,自動顯示上次交談的最后一句話。
(20)輸入提醒:像QQ一樣,當對方正在輸入消息時,我這邊的聊天框可以看到對方“正在輸入”的提示。
(21)自動記錄:GG2014會自動記錄上次打開的主界面的位置、大小;最后一次打開的聊天窗口的大小;最后一次設(shè)定的字體的顏色、大小等。
(22)主窗體靠邊自動隱藏。
(23)錄制視頻聊天。
二.后續(xù)待實現(xiàn)的功能
(1)增加持久化支持
(2)視頻會議
三.GGTalk開發(fā)環(huán)境
開發(fā)環(huán)境:VS2010 ,開發(fā)語言:C#, .NET Framework 版本: 2.0
部署客戶端時,客戶端機器還需要安裝VC++2008 runtime、VC++2010 runtime。
四.GGTalk相關(guān)說明
1.如果要將GG部署到廣域網(wǎng),則可以在服務(wù)端的配置文件中設(shè)置監(jiān)聽的端口;而在客戶端的配置文件中,則可以指定服務(wù)器的IP和Port。
2.虛擬數(shù)據(jù)庫
(1)為了部署測試更簡單,GG沒有采用真實的物理數(shù)據(jù)庫,而是在內(nèi)存中虛擬了一個數(shù)據(jù)庫(即服務(wù)端的VirtualDB類),用于存儲用戶注冊信息、好友關(guān)系、群信息等。
(2)GG內(nèi)置了幾個用戶:10000、10001、10002、10003,它們的登錄密碼都是”1″。
(3)GG內(nèi)置的這幾個用戶之間都是好友關(guān)系。
(4)GG內(nèi)置了兩個群:G001、G002。G001群包含所有內(nèi)置測試用戶,G002群包含10000和10001兩個用戶。
(5)上述的這些內(nèi)置信息,在VirtualDB類的構(gòu)造函數(shù)中設(shè)定。
3.麥克風(fēng)、攝像頭的選擇可在客戶端系統(tǒng)設(shè)置窗口(SystemSettingForm)中指定。
4.語音視頻:也有很多朋友問語音視頻設(shè)備的工作怎么不正常,或者語音視頻不流暢,這個可以直接參考OMCS官方文檔:攝像頭、麥克風(fēng)、揚聲器、設(shè)備測試 、帶寬要求。
5.特別說明一下:GG項目中,只要是我寫的代碼,全部都放出來了。拜托喜歡每一個dll都有源碼的朋友不要再問我要其它的源碼了:)
搭建教程參考:
使用IIS搭建Asp.net網(wǎng)站程序詳細教程