ws

package
v0.0.0-...-93b8502 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2022 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var WebsocketManager = Manager{
	Group:            make(map[string]map[string]*Client),
	Register:         make(chan *Client, 128),
	UnRegister:       make(chan *Client, 128),
	GroupMessage:     make(chan *GroupMessageData, 128),
	Message:          make(chan *MessageData, 128),
	BroadCastMessage: make(chan *BroadCastMessageData, 128),
	// contains filtered or unexported fields
}

初始化 wsManager 管理器

Functions

func TestSendAll

func TestSendAll()

测试广播

func TestSendGroup

func TestSendGroup()

测试组广播

Types

type AutoGenerated

type AutoGenerated struct {
	Weatherinfo struct {
		City    string `json:"city"`
		Cityid  string `json:"cityid"`
		Temp    string `json:"temp"`
		WD      string `json:"WD"`
		WS      string `json:"WS"`
		SD      string `json:"SD"`
		AP      string `json:"AP"`
		Njd     string `json:"njd"`
		WSE     string `json:"WSE"`
		Time    string `json:"time"`
		Sm      string `json:"sm"`
		IsRadar string `json:"isRadar"`
		Radar   string `json:"Radar"`
	} `json:"weatherinfo"`
}

type BroadCastMessageData

type BroadCastMessageData struct {
	Message []byte
}

广播发送数据信息

type Client

type Client struct {
	Id, Group string
	Socket    *websocket.Conn
	Message   chan []byte
}

Client 单个 websocket 信息

func (*Client) Read

func (c *Client) Read()

读信息,从 websocket 连接直接读取数据

func (*Client) Write

func (c *Client) Write()

写信息,从 channel 变量 Send 中读取数据写入 websocket 连接

type GroupMessageData

type GroupMessageData struct {
	Group   string
	Message []byte
}

groupMessageData 组广播数据信息

type Manager

type Manager struct {
	Group map[string]map[string]*Client

	Lock                 sync.Mutex
	Register, UnRegister chan *Client
	Message              chan *MessageData
	GroupMessage         chan *GroupMessageData
	BroadCastMessage     chan *BroadCastMessageData
	// contains filtered or unexported fields
}

Manager 所有 websocket 信息

func (*Manager) Info

func (manager *Manager) Info() map[string]interface{}

获取 wsManager 管理器信息

func (*Manager) LenClient

func (manager *Manager) LenClient() uint

当前连接个数

func (*Manager) LenGroup

func (manager *Manager) LenGroup() uint

当前组个数

func (*Manager) RegisterClient

func (manager *Manager) RegisterClient(client *Client)

注册

func (*Manager) Send

func (manager *Manager) Send(id string, group string, message []byte)

向指定的 client 发送数据

func (*Manager) SendAll

func (manager *Manager) SendAll(message []byte)

广播

func (*Manager) SendAllService

func (manager *Manager) SendAllService()

处理广播数据

func (*Manager) SendGroup

func (manager *Manager) SendGroup(group string, message []byte)

向指定的 Group 广播

func (*Manager) SendGroupService

func (manager *Manager) SendGroupService()

处理 group 广播数据

func (*Manager) SendService

func (manager *Manager) SendService()

处理单个 client 发送数据

func (*Manager) Start

func (manager *Manager) Start()

启动 websocket 管理器

func (*Manager) UnRegisterClient

func (manager *Manager) UnRegisterClient(client *Client)

注销

func (*Manager) WsClient

func (manager *Manager) WsClient(ctx *gin.Context)

gin 处理 websocket handler

type MessageData

type MessageData struct {
	Id, Group string
	Message   []byte
}

messageData 单个发送数据信息

type NotifyController

type NotifyController struct {
	controller.Api
}

func NewNotifyController

func NewNotifyController() *NotifyController

func (*NotifyController) Notify

func (api *NotifyController) Notify(c *gin.Context)

HelloWorld hello world

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL