區(qū)塊鏈IM即時(shí)通訊系統(tǒng)區(qū)塊鏈社交軟件實(shí)現(xiàn)原理
即時(shí)通訊(Instant Messenger,簡(jiǎn)稱(chēng)IM)軟件多是基于TCP/IP和UDP進(jìn)行通訊的,TCP/IP和UDP都是建立在更低層的IP協(xié)議上的兩種通訊傳輸協(xié)議。前者是以數(shù)據(jù)流的形式,將傳輸數(shù)據(jù)經(jīng)分割、打包后,通過(guò)兩臺(tái)機(jī)器之間建立起的虛電路,進(jìn)行連續(xù)的、雙向的、嚴(yán)格保證數(shù)據(jù)正確性的文件傳輸協(xié)議。而后者是以數(shù)據(jù)報(bào)的形式,對(duì)拆分后的數(shù)據(jù)的先后到達(dá)順序不做要求的文件傳輸協(xié)議。138.23118291←區(qū)塊鏈IM系統(tǒng)開(kāi)發(fā)電。
一般的步驟:
首先,用戶(hù)A輸入自己的用戶(hù)名和密碼登錄即時(shí)通訊服務(wù)器,服務(wù)器通過(guò)讀取用戶(hù)數(shù)據(jù)庫(kù)來(lái)驗(yàn)證用戶(hù)身份,如果用戶(hù)名、密碼都正確,就登記用戶(hù)A的IP地址、IM客戶(hù)端軟件的版本號(hào)及使用的TCP/UDP端口號(hào), 然后返回用戶(hù)A登錄成功的標(biāo)志,此時(shí)用戶(hù)A在 IM系統(tǒng)中的狀態(tài)為在線(xiàn)(Online Presence)。
其次,根據(jù)用戶(hù)A存儲(chǔ)在IM服務(wù)器上的好友列表 (Buddy List),服務(wù)器將用戶(hù)A在線(xiàn)的相關(guān)信息發(fā)送到也同時(shí)在線(xiàn)的即時(shí)通訊好友的PC機(jī),這些信息包括在線(xiàn)狀態(tài)、IP地址、 IM客戶(hù)端使用的TCP端口(Port)號(hào)等,即時(shí)通訊好友PC機(jī)上的即時(shí)通訊軟件收到此信息后將在PC桌面上彈出一個(gè)小窗口予以提示。
第三步,即時(shí)通訊服務(wù)器把用戶(hù)A存儲(chǔ)在服務(wù)器上的好友列 表及相關(guān)信息回送到他的PC機(jī),這些信息包括也在線(xiàn)狀態(tài)、IP地址、IM客戶(hù)端使用的TCP端口(Port)號(hào)等信息,用戶(hù)A的PC機(jī)上的IM客戶(hù)端收到 后將顯示這些好友列表及其在線(xiàn)狀態(tài)。
接下來(lái),如果用戶(hù)A想與他的在線(xiàn)好友用戶(hù)B聊天,他將直接通過(guò)服務(wù)器發(fā)送過(guò)來(lái)的用戶(hù)B的IP地址、TCP端口號(hào)等信息,直接向用戶(hù)B的PC機(jī)發(fā)出聊天信息,用戶(hù)B的IM客戶(hù)端軟件收到后顯示在屏幕上,然后用戶(hù)B再直接回復(fù)到用戶(hù)A的PC機(jī),這樣雙方的即時(shí)文字消息就不通過(guò) IM服務(wù)器中轉(zhuǎn),而是通過(guò)網(wǎng)絡(luò)進(jìn)行點(diǎn)對(duì)點(diǎn)的直接通訊,這稱(chēng)為對(duì)等通訊方式(Peer To Peer)?。在商用即時(shí)通訊系統(tǒng)中,如果用戶(hù)A與用戶(hù)B的點(diǎn)對(duì)點(diǎn)通訊由于防火墻、網(wǎng)絡(luò)速度等原因難以建立或者速度很慢, IM服務(wù)器還提供消息中轉(zhuǎn)服務(wù),即用戶(hù)A和用戶(hù)B的即時(shí)消息全部先發(fā)送到IM服務(wù)器,再由服務(wù)器轉(zhuǎn)發(fā)給對(duì)方。早期的IM系統(tǒng),在IM客戶(hù)端和IM服務(wù)器之間通訊采用采用UDP協(xié)議, UDP協(xié)議是不可靠的傳輸協(xié)議,而在 IM客戶(hù)端之間的直接通訊中,采用具備可靠傳輸能力的TCP協(xié)議。隨著用戶(hù)需求和技術(shù)環(huán)境的發(fā)展,目前主流的即時(shí)通訊系統(tǒng)傾向于在即時(shí)通訊客戶(hù)端之間、即時(shí)通訊客戶(hù)端和即時(shí)通訊服務(wù)器之間都采用TCP協(xié)議?。
第一種,對(duì)服務(wù)器的性能要求比較高,要求服務(wù)器可以同時(shí)處理很高的連接數(shù),因?yàn)樗行畔⒍家ㄟ^(guò)服務(wù)器進(jìn)行傳遞,同時(shí),它可以對(duì)所傳遞的信息進(jìn)行控制。
第二種,僅僅是用戶(hù)登陸或下線(xiàn)時(shí)與服務(wù)器進(jìn)行連接,平時(shí)進(jìn)行通信時(shí),是用戶(hù)之間直接進(jìn)行點(diǎn)對(duì)點(diǎn)的連接,這種實(shí)現(xiàn)更合理一 些。?
IM技術(shù)原理和工作方式
典型的IM工作方式如下:登陸IM通訊中心(IM通訊服務(wù)器),獲取一個(gè)自建立的歷史的交流對(duì)象列表(好友列表),然后自身標(biāo)志為在線(xiàn)狀態(tài),當(dāng)好友列表中的某人在任何時(shí)候登錄上線(xiàn)并試圖通過(guò)你的計(jì)算機(jī)聯(lián)系你 時(shí),IM系統(tǒng)會(huì)發(fā)一個(gè)消息提醒你,然后你能與他建立一個(gè)聊天會(huì)話(huà)通道進(jìn)行各種消息如鍵入文字、通過(guò)語(yǔ)音等的交流.
從技術(shù)上來(lái)說(shuō),深圳源中瑞可以IM的基本技術(shù)原理如下:
通過(guò)IM服務(wù)器登陸或注銷(xiāo)
用戶(hù)A通過(guò)列表找到B,用戶(hù)B獲得消息并與之交談
通過(guò)IM服務(wù)器指引建立與B單獨(dú)的通訊通道
第一步,用戶(hù)A輸入自己的用戶(hù)名和密碼登錄IM服務(wù)器, 服務(wù)器通過(guò)讀取用戶(hù)數(shù)據(jù)庫(kù)來(lái)驗(yàn)證用戶(hù)身份,如果驗(yàn)證通過(guò),登記用戶(hù)A的IP地址、IM客戶(hù)端軟件的版本號(hào)及使用的TCP/UDP端口號(hào),然后返回用戶(hù)A登錄成功的標(biāo)志,此時(shí)用戶(hù)A在IM系統(tǒng)中的狀態(tài)為在線(xiàn)(Online Presence)。
第二步,根據(jù)用戶(hù)A存儲(chǔ)在IM服務(wù)器上的好友列表 (Buddy List),服務(wù)器將用戶(hù)A在線(xiàn)的相關(guān)信息發(fā)送給也同時(shí)在線(xiàn)的IM好友的PC機(jī),這些信息包括在線(xiàn)狀態(tài)、IP地址、IM客戶(hù)端使用的TCP端口 (Port)號(hào)等,IM好友的客戶(hù)端收到此信息后將在予以提示。
第三步是IM服務(wù)器把用戶(hù)A存儲(chǔ)在服務(wù)器上的好友列表及 相關(guān)信息回送到他的客戶(hù)端機(jī),這些信息包括也在線(xiàn)狀態(tài)、IP地址、IM客戶(hù)端使用的TCP端口(Port)號(hào)等信息,用戶(hù)A的IM客戶(hù)端收到后將顯示這些好友列表及其在線(xiàn)狀態(tài)。
IM通訊方式
1.在線(xiàn)直接通訊?
如果用戶(hù)A想與他的在線(xiàn)好友用戶(hù)B聊天,他將直接通過(guò)服務(wù)器發(fā)送過(guò)來(lái)的用戶(hù)B的IP地址、TCP端口號(hào)等信息,直接向用戶(hù)B的PC機(jī)發(fā)出聊天信息,用戶(hù)B 的IM客戶(hù)端軟件收到后顯示在屏幕上,然后用戶(hù)B再直接回復(fù)到用戶(hù)A的PC機(jī),這樣雙方的即時(shí)文字消息就不再I(mǎi)M服務(wù)器中轉(zhuǎn),而是直接通過(guò)網(wǎng)絡(luò)進(jìn)行點(diǎn)對(duì)點(diǎn) 的通訊,即對(duì)等通訊方式(Peer To Peer)。
2.在線(xiàn)代理通訊?
用戶(hù)A與用戶(hù)B的點(diǎn)對(duì)點(diǎn)通訊由于防火墻、網(wǎng)絡(luò)速度等原因難以建立或者速度很慢,IM服務(wù)器將會(huì)主動(dòng)提供消息中轉(zhuǎn)服務(wù),即用戶(hù)A和用戶(hù)B的即時(shí)消息全部先發(fā) 送到IM服務(wù)器,再由服務(wù)器轉(zhuǎn)發(fā)給對(duì)方。
3.離線(xiàn)代理通訊?
用戶(hù)A與用戶(hù)B由于各種原因不能同時(shí)在線(xiàn)的時(shí)候,如此時(shí)A向B發(fā)送消息,IM服務(wù)器可以主動(dòng)寄存A用戶(hù)的消息,到B用戶(hù)下一次登陸的時(shí)候,自動(dòng)將消息轉(zhuǎn)發(fā) 給B。
4.擴(kuò)展方式通訊?
用戶(hù)A可以通過(guò)IM服務(wù)器將信息以擴(kuò)展的方式傳遞給B,如短信發(fā)送方式發(fā)送到B的手機(jī),傳真發(fā)送方式傳遞給B的電話(huà)機(jī),以email的方式傳遞給B的電子郵箱等。
早期的IM系統(tǒng),在IM客戶(hù)端和IM服務(wù)器之間通訊采用UDP協(xié)議,UDP協(xié)議是不可靠的傳輸協(xié)議,而在IM客戶(hù)端之間的直接通訊中,采用具備可靠傳輸能 力的TCP協(xié)議。隨著用戶(hù)需求和技術(shù)環(huán)境的發(fā)展,目前主流的IM系統(tǒng)傾向于在IM客戶(hù)端之間、IM客戶(hù)端和IM服務(wù)器之間都采用TCP協(xié)議。
?
評(píng)論
查看更多