smsProcess.go

package process2

import (
“encoding/json”
“fmt”
“net”
)

type SmsProcess struct {
//…[暂时不需字段]

}
//写方法转发消息
func(this *SmsProcess)SendGroupMes(mes message.Message){
//遍历服务器的onlineUsers map[int]*UserProcess,
//将消息转发出去。

//取出mes的内容SmsMes
var smsMes message.SmsMes
err:=json.Unmarshal([]byte(mes.Data),&smsMes)
if err!=nil{
	fmt.Println("json.Unmarshal err",err)
	return
}

data,err:=json.Marshal(mes)
if err!=nil{
	fmt.Println("json.Marshal err=",err)
	return
}



for id,up:=range userMgr.onlineUsers{
	//这里,还需要过滤到自己,即不要再发给自己
	if id==smsMes.UserId{
		continue
	}
    this.SendMesToEachOnlineUser(smsMes.Content,up.Conn)
}

}

func (this *SmsProcess)SendMesToEachOnlineUser(date[]byte,conn net.Conn){
//离线留言,创建一个Transfer实例,发送data
tf:=&utils.Transfer{
Conn:conn,
}
err:=tf.WritePkg(data)
if err!=nil{
fmt.Println(“转发消息失败err=”,err)
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值