Skip to content

基于gorilla/websocket封装的websocket库,实现基于系统维度的消息推送,基于群组维度的消息推送,基于单个和多个客户端消息推送。

License

Notifications You must be signed in to change notification settings

MQEnergy/go-websocket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-websocket

基于gorilla/websocket封装的websocket库,实现基于系统维度的消息推送,基于群组维度的消息推送,基于单个和多个客户端消息推送。

GoDoc Go Report Card codebeat badge GitHub license

一、目录结构

├── LICENSE
├── README.md
├── client.go           // 客户端
├── client_hub.go       // 客户端集线器
├── code.go             // 状态码
├── example             // 案例
│   └── ws.go
├── go.mod
├── go.sum
├── log.go              // 日志
├── node.go             // 节点(用于在分布式系统生成基于节点的客户端连接ID)
├── response.go         // 客户端发送消息
└── server.go           // 服务

二、在项目中安装使用

go get -u github.com/MQEnergy/go-websocket

三、运行example

1、开启服务

go run examples/ws.go
服务器启动成功,端口号 :9991 

代表启动成功

2、案例

具体查看example目录

1)连接ws并加群组

system_id为系统ID(不必填 不填默认当前节点ip的int值) group_id为群组ID(不必填 不填连接不加群组 注意:群组id为全局唯一ID 不然可能会出现不同系统的相同群组都推送消息)

请求

ws://127.0.0.1:9991/ws?system_id=123&group_id=test

可选多种返回方式 如: Text,Json,Binary(二进制方式) 返回如下json示例:

{
    "code": 0,
    "msg": "客户端连接成功",
    "data": {
        "client_id": "1589962851152388096",
        "group_id": "test",
        "system_id": "123"
    },
    "params": null
}

2)全局广播消息群发

请求

http://127.0.0.1:9991/push_to_system?system_id=123&data={"hello":"world"}

返回

{
    "msg": "系统消息发送成功",
}

3)单个系统消息群发

请求

http://127.0.0.1:9991/push_to_system?system_id=123&data={"hello":"world"}

返回

{
    "msg": "系统消息发送成功",
}

4)推送消息到群组

请求

http://127.0.0.1:9991/push_to_group?system_id=123&group_id=test&data={"hello":"world1"}

返回

{
    "msg": "群组消息发送成功",
}

5)单个客户端消息发送

请求

http://127.0.0.1:9991/push_to_client?client_id=123&data={"hello":"world"}

返回

{
    "msg": "客户端消息发送成功",
}

About

基于gorilla/websocket封装的websocket库,实现基于系统维度的消息推送,基于群组维度的消息推送,基于单个和多个客户端消息推送。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy