即時通訊框架SocketIO的入門學習

2021-01-07 老陳的學習園地

一、介紹

學習socket之前,我們先了解下網絡七層是哪七層,而socket又是位於哪?

網絡七層:

應用層表示層會話層傳輸層網絡層數據鏈路層物理層而socket位於應用層與傳輸層之間,簡寫SSL(Secure Sockets Layer 安全套接層),而其繼任者傳輸層安全(Transport Layer Security,TLS)是為網絡通信提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層對網絡連接進行加密。

二、Socket.IO 是什麼

Socket.IO是一個庫,基於 Node.js 的實時應用程式框架。可以在瀏覽器和伺服器之間實現實時,雙向和基於事件的通信。它適用於每個平臺、瀏覽器或設備,同樣注重可靠性和速度。它包括:

Node.js 伺服器瀏覽器的Javascript客戶端庫(也可以從Node.js運行)

三、起源

WebSocket 的產生源於 Web 開發中日益增長的實時通信需求,對比基於 http 的輪詢方式,它大大節省了網絡帶寬,同時也降低了伺服器的性能消耗。

WebSocket 協議在2008年誕生,2011年成為國際標準。雖然主流瀏覽器都已經支持,但仍然可能有不兼容的情況,為了兼容所有瀏覽器,就誕生SocketIO。

SocketIO將WebSocket、AJAX和其它的通信方式全部封裝成了統一的通信接口,也就是說,我們在使用SocketIO時,不用擔心兼容問題,底層會自動選用最佳的通信方式。

四、Socket.io有什麼特點

易用性:Socket.io封裝了服務端和客戶端,使用起來非常簡單方便。跨平臺:Socket.io是跨平臺的,可以實現多平臺的即時通訊,Socket.io支持跨平臺,這就意味著你有了更多的選擇,可以在自己喜歡的平臺下開發實時應用。由於 iOS 端進行 socket 編程主要使用 GCDAsyncSocket 框架,但要實現 Android、iOS、web 多平臺的通訊,還是選擇統一的框架或協議比較好。自適應:Socket.io 實現了實時雙向的基於事件的通訊機制,是基於 webSocket 的封裝,但它不僅僅包括 webSocket,還對輪詢(Polling)機制以及其它的實時通信方式封裝成了通用的接口,並且在服務端實現了這些實時機制的相應代碼,它會自動根據瀏覽器從WebSocket、AJAX長輪詢、Iframe流等等各種方式中選擇最佳的方式來實現網絡實時應用,非常方便和人性化,而且支持的瀏覽器最低達IE5.5。五、Socket.io安裝

首先要安裝Node.js,然後再用如下命名安裝Socket.io

npm install socket.io

六、Socket.io示例

伺服器端,sever.js

sever.js

瀏覽器端,index.html

index.html

七、運行

1、cd 到文件目錄下

2、node server.js

3、打開瀏覽器,輸入http://localhost:3000,點擊send按鈕

4、演示效果如下

伺服器端:

瀏覽器端:

相關焦點

  • gim 1.0.0 版本發布,基於 getty 的即時通訊框架
    如果想做一個類似微信的即時通訊工具。亦或者物聯網等需要網絡通訊的項目。或者對網絡通訊感興趣,也許 gim 可以帶來一些幫助。gim一個簡單易用,穩定高效的及時通訊框架(java)簡介gim 是基於高性能網絡框架 getty 封裝的,能簡單上手,穩定高效的及時通訊框架。
  • Web端即時通訊實踐乾貨:如何讓WebSocket斷網重連更快速?
    1、引言在一個完善的即時通訊IM應用中,WebSocket是極其關鍵的一環,它為基於Web的即時通訊應用提供了一種全雙工的通信機制。但為了提升IM等實際應用場景下的消息即時性和可靠性,我們需要克服WebSocket及其底層依賴的TCP連接對於複雜網絡情況下的不穩定性,即時通訊的開發者們通常都需要為其設計一套完整的連接保活、驗活以及斷片網重連方案。
  • 企業即時通訊是什麼?五大企業級即時通訊功能分析
    企業即時通訊:簡稱EIM,是適用於企業使用的員工溝通和聊天內容管理的服務,公司員工可以通過企業即時通訊軟體,進行日常工作的實時溝通、待辦、語音、文件互傳等。相對於個人即時通訊來說(像QQ),企業即時通訊更加強調安全、實用、穩定以及擴展性,並且可以根據企業在實際使用中的需求,做定製化開發。
  • NIO框架入門(二):服務端基於MINA2的UDP雙向通信Demo演示
    《NIO框架入門》系列文章目錄 有關MINA和Netty的入門文章很多,但多數都是複製、粘貼的未經證實的來路不明內容,對於初次接觸的人來說,一個可以運行且編碼規範的Demo,顯然要比各種「詳解」、「深入分析」之類的要來的直接和有意義
  • 安全即時通訊首選「信源豆豆」
    企業涉及工作秘密的核心機密部門或政府事業單位在工作中產生的文檔、數據等保密內容需要選擇一款安全即時通訊平臺就尤為重要。信源豆豆:三個方面為企業支招!安全保障對企事業單位而言,一個好的即時通訊平臺其安全性是首要的,它與經濟利益緊密相關。信源豆豆即時通訊凸顯安全性:所有信息是服務端、通訊鏈路、客戶端三端加密、五維防護。
  • iCoremail郵件系統雲計算免費提供即時通訊
    據調查顯示,目前企業即時通訊(IM)和企業郵箱已成為使用最為廣泛、最被企業認可、用戶數最為眾多、最為成熟的兩大信息化應用。其實,在個人應用領域,人們早已習慣即時通訊和郵箱的融合,用戶可以通過即時通訊軟體直接登錄到個人郵箱。
  • 即時通訊工具的作用性質,決定對待的態度
    在生活休閒中我們對待即時通訊可以任意安裝和卸載,對待網絡的上的其他人我們可以任意嗯啊哦。因為那是私事,是我自己個人對生活的態度。沒有人會指責,也沒有會在乎,因為不認同你的方式,可以不理你,屏蔽你,甚至拉黑你。但當你在職場中所任職企業中在使用即時通訊成為工作幫手時,你還能隨意屏蔽,拉黑嗎?那你是真的不想幹了。
  • 藍凌KK企業即時通訊工具
    藍凌KK企業即時通訊工具 2013年08月02日 15:06作者:廠商投稿編輯:張傳智文章出處:泡泡網原創   KK功能涵蓋IM即時通訊、個人知識管理、SNS、系統整合與應用集成、網盤、移動KK,是集移動、社交、整合一體化的企業即時通訊工具。  IM即時通訊:統一通信。可以發起單人會話,多人會話,群組聊天等即時通信。可以傳送文件,發起視頻通話、電話會議,發送郵件、簡訊,進行遠程協助、網絡傳真等。
  • IBM介入即時通訊 每年節省電話費7700萬元
    10月24日,IBM正式發布其即時通訊軟體Lotus Sametime7.5,其大中華區軟體集團市場總監左洪如此現身說法。  與MSN、雅虎通、QQ等耳熟能詳的公共即時通信工具不同,IBM將Lotus Sametime7.5定位於企業市場。  「對於多辦公室或員工流動性高的企業來說,即時通訊工具的確可以加快溝通、節省成本。」
  • Line十億美元IPO落地 即時通訊如何貨幣化?
    Line十億美元IPO落地 即時通訊如何貨幣化?Line十億美元IPO落地 即時通訊如何貨幣化?這令人想到2014年阿里巴巴的上市,同樣的亞洲背景,同樣的跨國上市,同樣設置了綠鞋期權,同樣造就了科技公司融資之最。
  • 風車IM即時通訊私有雲,獨立部署的安全聊天軟體
    2020 年 5 月 8 日,記者了解到,由北京靖昭科技打造的即時通訊私有雲軟體產品正式上線。自 4 月初開啟內測後,風車IM首次對外發布正式版產品。現在所有開發者已經可登錄風車IM官網直接免費下載體驗最新版本,迅速讓APP實現即時通訊功能。
  • 最熱門的深度學習框架TensorFlow入門必備書籍
    但進入機器學習和人工智慧領域並不是一件簡單的事情,目前市場上有許多大量的學習資源,許多開發者和想要進入的愛好者往往很難找到適合自己的發展路徑。其實,早在 2015 年底,谷歌就開源了內部使用的深度學習框架 TensorFlow 。眾多研究表明,Tensorflow 是研究深度學習的首選平臺。
  • FinChat - 金融行業的合規即時通訊工具
    相比於諸如SaaS化的辦公協同,金融機構則需要一套私有化、合規、安全、穩定可靠的即時通訊產品,不僅僅的是因為當前嚴峻的疫情形勢,也是企業長遠發展的必然需要。對阿里騰訊這些巨頭而言,當前都在搶佔中小企業市場,而金融行業所需要的合規、安全、審計等能力過於「個性化」。金融業需要一個專屬、專業的在線協同通訊工具。
  • 手機即時通訊軟體發展迅猛
    作為通訊工具,如今微信和WhatsApp等即時通信應用已經取代了之前我需要用簡訊完成的大部分工作,甚至偶爾的小型會議以及組內通知等都會通過這類工具來完成。而簡訊,真的越來越少動用。簡訊:增長越來越緩慢  作為移動網際網路的一大組成部分,即時通訊軟體的確給簡訊造成了很大影響。
  • VoIP與即時通訊問題:Skype不支持IPv6
    VoIP與即時通訊問題:Skype不支持IPv6 微軟公司為了支持Skype可能要關閉對其他即時通訊軟體的支持,但是Skype自身有一個連通性問題,那就是不支持網際網路的下一代協議IPv6。
  • 《近匠》環信:標準化即時通訊與未來社交構想
    我們做環信這個即時通訊雲服務,是因為以前看到開發者都在重複做同樣的事情,浪費時間、資源和精力。我們就想,能否做一個有關移動網際網路上使用的標準化的即時通訊雲服務模塊,供開發者使用呢? 經過調查,我們發現市場需求很大,加之我們幾個都是長期研發開源軟體的,因此就有了今天的環信。
  • 5款客戶端IM產品對比 企業即時通訊軟體測評
    當前企業即時通訊軟體產品林立,各種產品各有千秋。產品的功能性、易用性、擴展性,各家都有所長。企業市場相於個人市場有它自己的特殊性,面臨著不同行業、不同規模企業的不同需求,因此難以出現一個能夠滿足大多數企業用戶需求的產品,因此目前也沒有出現一家獨大的現象。現在介紹五款比較常見的企業即時通訊軟體。
  • 金山詞霸涉足即時通訊:酷似複製騰訊模式
    《金山詞霸涉足即時通訊:酷似複製騰訊模式》文章已經歸檔,不再展示相關內容,編輯建議你查看最新於此相關的內容:不想當網紅的學霸不是好少年 金山詞霸專欄現粉絲效應不久之前,無意間看到一條信息
  • 環信即時通訊雲助力同桌遊戲打造社交遊戲領頭羊
    根據極光大數據顯示:同桌遊戲是春節增長最快的社交遊戲之一,同時獲得了社交遊戲領域春節榜單的冠軍,而這其中環信即時通訊雲提供的穩定健壯的底層IM社交服務功不可沒。遊戲類產品IM功能八大痛點,環信優勢明顯目前全球遊戲產業,都把社交遊戲看作是未來的發展方向。