美文网首页
go语言聊天室实现(十一)用户发送消息的设置

go语言聊天室实现(十一)用户发送消息的设置

作者: 公式般欢笑 | 来源:发表于2020-03-24 11:17 被阅读0次

    对于用户发送消息的方面,首先我们应该修改一下之前的UserMessage结构体,如下:

    type UserMessage struct {
        Type        string `json:"type"`
        UserId      int    `json:"user_id"`
        FirstTopic  int    `json:"first_topic"`
        SecondTopic int    `json:"second_topic"`
        MsgType int `json:"msg_type"`
        MsgContent string `json:"msg_content"`
    }
    

    这里加入了一个MsgType和一个MsgContent。用户发送消息的类型和具体的消息内容。
    然后我们就可以通过Type是否为Message来判断是否是用户发送的消息。

    case "message":
                messageContent:=common.MessageContent{
                    FirstTopic: umsg.FirstTopic,
                    SecondTopic: umsg.SecondTopic,
                    MsgType: umsg.MsgType,
                    MsgContent: umsg.MsgContent,
                    UserId: umsg.UserId,
                }
                fds:=new(user.UserService).GetFdByGroup(umsg.FirstTopic,umsg.SecondTopic)
                fmt.Println("fds===================",fds)
                PushToAllObj:=new(push.PushToAllMessage)
                PushToAllObj.Status=0;
                PushToAllObj.Data=messageContent
                PushToAllObj.Fds=fds
                messageservice:=new(message.MessageService)
                messageservice.Add(PushToAllObj)
                messageservice.Update()
    
    break
    

    这里我们新建了一个MessagService,这个Service只是为了继承一下PushEventGenerator,从而对用户发送通知。
    OK,至此所有的发送消息的功能与之前Swoole_chat的功能都一致了。

    相关文章

      网友评论

          本文标题:go语言聊天室实现(十一)用户发送消息的设置

          本文链接:https://www.haomeiwen.com/subject/fvetyhtx.html