**:
做一款軟體,首先需要明確的不是你是單機的還是分布式的,cs的還是bs的。這些都是後話。第乙個遇到的問題是這款軟體要實現什麼功能,也即是市場以及設計者開發者對於這款軟體的需求預期是什麼。
因為即時通訊軟體是比較成熟的了。所以功能就很好列出來。對於功能,最實惠一目了然的描述方法就是用例圖了。不過悲劇的是公司把埠給禁用了,上傳不了。萬惡的公司。所以這裡我就簡單羅列下了。
功能列表:
頻道:其實這個和聊天應該歸屬乙個功能點下面的兩種。也可以說類似多人聊天,唯一不同的就是弱管理。使用者自己可申請開戶,然後再分到的頻道中發布相關資訊,其他使用者可通過搜尋頻道進入該電台,然後在其中進行接受資訊,並支援互動。
外圍方面,在硬體方面,包括移動端、pc端接入程式。即使用者可以使用手機、平板、pc等登陸。
功能列表已經列出來了,下面就是**這個軟體的結構怎麼部署了。所以他的deployment如下:
即時通訊的部署的大致框架也說了,現在就是來看看技術難點了。一些不會擴散的功能點上的難點,其實不算難點。慢慢做就行了。所以軟體設計初期要考慮的是那些容易擴充套件全域性的難點,就像癌症在血液裡,不搞定,小心全身崩潰。一些指甲發黑之類的,先拿刀剁了放旁邊,等哪天搞定了再接上來就行了。不過一些雖然會擴散全身的,但是束手無策的,個人感覺就當不存在就行了,反正沒招。
即時通訊,對於網際網路第乙個遇到的問題是負載的問題。伺服器的能力畢竟有限。這個時候不得不考慮第乙個伺服器進行專職化,就是多些伺服器,各盡其職。重要的就是彼此之間職責要清晰。於是就出現了幾個伺服器,第乙個是專門用來接收使用者登入的,負責鑑權以及更新資料庫。第二個是專門負責通訊的,即使用者與使用者想互相說話,因為網路問題,他們自己說不了,於是找了個中轉站。但是負載的問題依然存在,客戶多了,通訊量大了,通訊伺服器扛不住。於是就想到了兩個辦法,第一就是治標不治本的辦法,搞集群,一大堆中轉伺服器,但是瓶頸依然存在。第二個就是分流,能不通過通訊伺服器的就別走通訊伺服器了,於是就想到了p2p。經濟實惠的辦法還是p2p吧,雖然他的實現對於網路有一些要求。
於是乎整個軟體的結構就清晰了。他主要包括:客戶端、伺服器兩塊。其中伺服器分:登入伺服器、通訊伺服器。具體會話的流程如下描述。
使用者需要發起會話時,首先對連線伺服器發起會話請求資訊。連線伺服器傳送響應訊息至a,訊息體中攜帶通訊伺服器的相關連線資訊。a接收訊息後,根據訊息體中的資訊對通訊伺服器建立tcp連線。
離線。a斷開與連線伺服器的連線。連線伺服器傳送命令至資料庫伺服器更新狀態表中狀態為離線。資料庫伺服器定時掃瞄狀態表,並觸發相應流程用於通知客戶好友的上線與離線,並保證狀態表的清潔。
因為上班時間寫的,所以就成了草稿。回頭我畫下相應的圖。總之,現在思路清晰了。整個系統包括以下幾個臺位:
即時通訊軟體連線全集
active messenger是一款可擴充套件的企業即時通訊平台 eim 可以傳送即時訊息 傳送檔案。支援 支援區域網和internet,支援伺服器互連,支援 互動,提供網路.www.activesoft.com.cn 34k 網頁快照 類似網頁 各種即時通訊軟體能讓你迅速地在網上找到你的朋友或工...
mysql 即時通訊 即時通訊IM模板
更新記錄 1.0.3 2020 10 22 完成點對點通訊功能,修復若 ug。1.0.2 2020 06 02 1 增加登入 註冊 個人資訊頁面 speedy im 注意介紹 正在持續開發中,目前僅部分ui開發完成。demo im.apk 已有基礎ui以及登陸 點到點聊天等功能。開發客戶端測試賬號密...
即時通訊系統
企業擁有一套理想的即時通訊系統,正如找到了一位得心應手的商務秘書。然而,縱觀當前企業即時通訊市場,同質化的即時通訊軟體比比皆是,而能夠讓企業真正根據自身需要來按需定製 人性化開發的即時通訊系統卻少之又少。傳統開發理念讓企業被動使用即時通訊。目前,大多數的軟體提供商還在用傳統的開發理念來開發企業即時通...