美文网首页
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