44 lines
1004 B
Go
44 lines
1004 B
Go
// Package message ...
|
|
//
|
|
// Description : 消息相关操作
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2021-03-28 5:15 下午
|
|
package message
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"github.com/pkg/errors"
|
|
|
|
"git.zhangdeman.cn/zhangdeman/websocket/context"
|
|
)
|
|
|
|
// Response 对当前连接的相关行为做出响应
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:17 下午 2021/3/28
|
|
func Response(wsCtx *context.WSContext, data map[string]interface{}) error {
|
|
byteData, _ := json.Marshal(data)
|
|
return wsCtx.Session.Write(byteData)
|
|
}
|
|
|
|
// Broadcast 消息广播
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 5:43 下午 2021/4/8
|
|
func Broadcast(message string, ctxList ...context.WSContext) map[string]error {
|
|
result := make(map[string]error)
|
|
for _, ctx := range ctxList {
|
|
if nil == ctx.Session {
|
|
result[ctx.ConnectionID] = errors.New("session is nil")
|
|
continue
|
|
}
|
|
result[ctx.ConnectionID] = ctx.Session.Write([]byte(message))
|
|
}
|
|
return result
|
|
}
|