#挑戰30天在頭條寫日記##程式員#
大家好,我是仁傑,今天給大家分享一款基于CIM元件開發的一整套完整的産品,該産品面向所有開發者開放注冊,并支援試用所有場景。
介紹
基于CIM元件開發的一整套完整的産品,面向所有人開放注冊的使用場景。具有豐富的功能,聊天、群組、好友清單、黑名單、公衆号、朋友圈等功能。不依賴任何第三方服務,同時可以私有化部署。
預覽
多人聊天
安卓主題
表情包
聊天
朋友圈
通訊錄
資訊展闆
uniapp端
web端
uniapp端
uniapp端
桌面端
Windown/MacOS桌面用戶端
部署
項目說明
名稱 | 說明 |
cim-boot-server | springboot服務端工程示範源碼 |
cim-server-sdk | 推送服務sdk,可內建到自由服務中 |
cim-client-sdk | 是各個用戶端的SDK源碼 |
cim-client-sdk-libs | 是各個用戶端的SDK安裝包 |
cim-use-examples | 是各個用戶端使用示例 |
doc/proto | 消息協定結構是各個語言的protobuf源檔案 |
技術棧
後端語言 | java | 1.8 |
開發工具 | IntelliJ IDEA | 2021.1.1 |
系統架構 | springboot | 2.4.4 |
網絡架構 | netty | 4.1.60 |
内部消息訂閱 | redis | 6.0 |
消息格式 | Google protobuf | 3.15.0 |
運作
下載下傳項目源代碼
https://gitee.com/farsunset/cim/tree/master/cim-boot-server
項目啟動
配置redis和mysql
打開application.properties
配置redis和mysql
修改自己的mysql資料庫連接配接資訊配置
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/cim?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.username = cim
spring.datasource.password = cimv587!
修改自己的redis連接配接資訊配置
spring.redis.host=127.0.0.1
spring.redis.port=6379
啟動服務
idea安裝完成後導入cim-boot-server工程,等待maven下載下傳完畢
運作
通路預設位址
# 控制頁面
http://127.0.0.1:8080
服務端
目錄名稱cim-server-sdk通過jar.sh打包 放到cim-boot-server/libs目錄下使用
<dependency>
<groupId>com.farsunset</groupId>
<artifactId>cim-server-sdk-netty</artifactId>
<version>4.2.0</version>
</dependency>
總結
一套完善的消息推送架構,可應用于信令推送,即時聊天,移動裝置指令推送等領域。開發者可沉浸于業務開發,不用關心消息通道連結,消息編解碼協定等複雜處理。