開源Html5+Websocket+Mqtt實時聊天室

本應用示例使用Coolpy7做爲Mqtt服務器並啓用Websocket代理完美支持高併發大流量即時經過能力,本示以即時通訊聊天爲爲例。還能夠應用到其餘軟件應用如:網頁客服系統、網站信息通知、網頁即時通訊系統、網頁遊戲等等html

技術應用架構簡介前端

系統架構包括:linux

  1. MQTT服務端程序(Coolpy7)
  2. WebSocket代理服務端 (Coolpy7_ws)
  3. Html5聊天室前端

安裝並運行git

運行Coolpy7核心服務github

Coolpy7核心服務是一個最原始最單純功能完備的MQTT消息服務器端,包括功能有:QoS:0,QoS1,QoS2消息質量支持。Will消息支持等等。深刻了解 https://mcxiaoke.gitbooks.io/mqtt-cn/content/web

  1. 防止暴力鏈接攻擊,對已鏈接客戶端進行優先保護
  2. 防止空鏈接攻擊,當用戶鏈接創建後兩秒鐘內沒有進行身份驗證即主動關閉客戶端鏈接

經過ssh進入服務器192.168.200.201,並確保你已經按照 https://coolpy7.gitbook.io/coolpy7book/kai-shi-shi-yong/start 配置服務器操做系統的網絡優化配置。數據庫

Coolpy7核心服務運行後會自行構當前目錄下的data文件夾,此文件夾存放MQTT運行期所需求持久化的數據信息,使用的是開源項目 https://github.com/jacoblai/yiyidb,支持10億級秒op的高性能數據庫,數據庫內核使用的是Leveldb技術。服務器

# 下載服務器端
git clone https://github.com/Coolpy7/Coolpy7.git && cd Coolpy7
# 解壓文件
unzip go_build_Coolpy7_go_linux.zip
# 提權
chmod -R 777 go_build_Coolpy7_go_linux
# 啓動Coolpy7 啓動參數
# l 當前服務Host地址 (默認爲:1883即本地1883端口,此參數通常默認便可,無需配置)
# a 鏈接接入調度器最大線程,此值可防止暴力鏈接攻擊,對已鏈接客戶端進行優先保護 (默認值128)
./go_build_Coolpy7_go_linux
# 啓動成功後會打印以下信息,即說明服務端已正常啓動,host於1883端口,請確保相關防火牆配置可用
2018/10/29 12:59:55 Coolpy7 tcp is listening on [::]:1883

通常需爲程序提權才能夠運行Linux服務,指令:chmod -R 777 go_build_Coolpy7_go_linux網絡

運行Coolpy7 WS代理服務架構

此功能即爲Coolpy7核心服務提供WebSocket接入功能。經過ssh進入服務器192.168.200.203,並確保你已經按照 https://coolpy7.gitbook.io/coolpy7book/kai-shi-shi-yong/start 配置服務器操做系統的網絡優化配置。

  1. 千萬級WebSocket代理服務器
  2. 支持防爆力攻擊
# 下載服務器端
git clone https://github.com/Coolpy7/Coolpy7.git && cd Coolpy7
# 解壓文件
unzip go_build_Coolpy7_ws_go_linux.zip
# 提權
chmod -R 777 go_build_Coolpy7_ws_go_linux
# 啓動Coolpy7 WS Poxy
# r啓動參數 CP7核心服務器所在ip或域名 (例:core.coolpy.net:1883 or 192.168.200.201:1883)
# l啓動參數 當前服務Host地址 (默認爲:8083即本地8083端口,此參數通常默認便可,無需配置)
./go_build_Coolpy7_ws_go_linux
# 啓動成功後會打印以下信息,即說明服務端已正常啓動,host於8083端口,請確保相關防火牆配置可用
2018/10/29 12:59:55 upstream 192.168.200.201:1883 ok
2018/10/29 12:59:55 Coolpy7 ws is listening on [::]:8083

運行Html5前端聊天室應用示例

  1. 下載開源項目:https://github.com/Coolpy7/Cp7Chat
  2. 修改鏈接地址爲上一步服務器端ip和端口(具體ip和端口按閣下真實環境,全套程序運行於本機可統一使用127.0.0.1爲鏈接地址)
  3. 經過Webstorm等web調試工具運行代碼

以WebStorm爲例

1.下載源代碼

開源Html5+Websocket+Mqtt實時聊天室

填寫git地址下載源代碼

2.修改鏈接信息本示例以本機運行整套系統爲例輸入127.0.0.1,端口號8083,假設把服務器端Coolpy7和Coolpy7-ws已經運行於阿里雲之類的雲服務器上改寫爲服務器的公網IP地址和端口便可,若是已綁定域名可直接填寫域名如: test.coolpy.net

開源Html5+Websocket+Mqtt實時聊天室

代碼位於chat.html第55行

3.修改完畢後選中工程中的index.html點擊

開源Html5+Websocket+Mqtt實時聊天室

 

至此已完成運行部署。如下是測試運行演示

開源Html5+Websocket+Mqtt實時聊天室

 

項目開源信息

服務器端開源地址: https://github.com/Coolpy7

聊天室前端開源地址:https://github.com/Coolpy7/Cp7Chat

相關文章
相關標籤/搜索