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