Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xyhubl/yim
长连接推送系统-server
https://github.com/xyhubl/yim
chat gin im push tcp websocket yim
Last synced: 9 days ago
JSON representation
长连接推送系统-server
- Host: GitHub
- URL: https://github.com/xyhubl/yim
- Owner: xyhubl
- Created: 2023-05-30T06:47:56.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-06-25T09:46:12.000Z (over 1 year ago)
- Last Synced: 2024-12-06T07:42:18.549Z (2 months ago)
- Topics: chat, gin, im, push, tcp, websocket, yim
- Language: Go
- Homepage:
- Size: 152 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# YIM 聊天推送系统
该项目可以业务于 推送、聊天等系统,鉴于goim 不怎么维护,所以复刻了此项目。欢迎感兴趣的伙伴一起维护(v: -Xy961025 +注明来意)。
效果:
http://120.27.141.27/h123/
http://120.27.141.27/h124/Comet:
有状态服务,目前只支持ws通信(支持多节点部署)
Job:
消息分发层
Logic:
logic路由层,目前实现单聊
流程:
客户端连接ws -> auth- > 建立连接
logic发送消息 -> job分发 -> comet发送消息到客户端
需要环境:
zookeeper kafka redis golang环境(建议>=1.17)
启动:
**comet:**
**docker build -t comet:v1 . -f Dockerfile_comet**
**docker run -d -p 8081:8081 -p 8083:8083 -it comet:v1 -config ./cmd/comet/dev/comet.yaml**
**job:**
**docker build -t job:v1 . -f Dockerfile_job**
**docker run -d job:v1 -config ./cmd/job/dev/job.yaml**
**logic:**
**docker build -t logic:v1 . -f Dockerfile_logic**
**docker run -d -p 8080:8080 -p 9091:9091 -it logic:v1 -config ./cmd/logic/dev/logic.yaml**
消息协议:
```
| parameter | is required | type | comment|
| :----- | :--- | :--- | :--- |
| package length | true | int32 bigendian | package length |
| header Length | true | int16 bigendian | header length |
| ver | true | int16 bigendian | Protocol version |
| operation | true | int32 bigendian | Operation |
| seq | true | int32 bigendian | jsonp callback |
| body | false | binary | $(package lenth) - $(header length) || operation | comment |
| :----- | :--- |
| 2 | Client send heartbeat|
| 3 | Server reply heartbeat|
| 7 | authentication request |
| 8 | authentication response |
```目前完成:
1. 单聊、群聊后续规划:
1. 离线消息存储漫游
2. ack机制
3. 等等..