| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package server
- import (
- "encoding/json"
- "slowwildws/internal/constants"
- "slowwildws/internal/types"
- "github.com/gorilla/websocket"
- )
- type MessageServer struct {
- }
- func NewMessageServer() *MessageServer {
- return &MessageServer{}
- }
- func (s *MessageServer) Send(msg interface{}, conns ...*ConnectionServer) error {
- if len(conns) == 0 {
- return nil
- }
- data, err := json.Marshal(msg)
- if err != nil {
- return err
- }
- for _, conn := range conns {
- if cErr := conn.WriteMessage(websocket.TextMessage, data); cErr != nil {
- return cErr
- }
- }
- return nil
- }
- func NewErrMessage(err error) *types.Message {
- return &types.Message{
- FrameType: constants.FrameErr,
- Data: err.Error(),
- }
- }
|