message结构体的定义:
type Message struct {
gorm.Model
UserId int64 //发送者
TargetId int64 //接受者
Type int //发送类型 1私聊 2群聊 3心跳
Media int //消息类型 1文字 2表情包 3语音 4图片 /表情包
Content string //消息内容
CreateTime uint64 //创建时间
ReadTime uint64 //读取时间
Pic string
Url string
Desc string
Amount int //其他数字统计
}
Type字段帮助后端对消息的分发进行判断
func recvProc(node *Node) {
for {
_, data, err := node.Conn.ReadMessage()
if err != nil {
fmt.Println(err)
return
}
msg := Message{}
err = json.Unmarshal(data, &msg)
if err != nil {
fmt.Println(err)
}
//心跳检测 msg.Media == -1 || msg.Type == 3
//心跳消息实现对连接时间的更新