代码拉取完成,页面将自动刷新
package sess
import (
"gitee.com/night-tc/gobige/global"
"gitee.com/night-tc/gobige/logger"
"gitee.com/night-tc/gobige/msgdef"
"gitee.com/night-tc/gobige/msgdef/protomsg"
)
type ISessCallBack interface {
//连接被关闭的时候(这个回调会在任意协程上,所以需要注意安全)
SessClosed(sess INetSess)
//会话的验证回调 如果是连接客户端的上层需要重载实现验证逻辑,失败就返回错误,底层会关闭连接
SessVerify(msg msgdef.ISessionVerifyReqMsg, sess INetSess) error
//连接类型
GetProtocal() ProtocalEnum
}
// 连接被关闭的时候
func (this *NetSrv) SessClosed(sess INetSess) {
this.sessesByID.CompareAndDelete(sess.GetID(), sess)
}
/*
会话的验证回调
如果是连接客户端的上层需要重载实现验证逻辑,失败就返回错误,底层会关闭连接
*/
func (this *NetSrv) SessVerify(msg msgdef.ISessionVerifyReqMsg, sess INetSess) error {
sess.Send(&protomsg.ClientVerifySucceedRet{})
sess.SetVerify()
sess.SetID(msg.GetSessUID())
if !this.isClient {
sess.SetType(msg.GetSessType())
} else {
sess.SetType(global.ServerTypeClient)
}
this.PutSess(sess)
logger.Infof("SessVerify type:%d;key:%d;sess[%s]", msg.GetSessType(), msg.GetSessUID(), sess.RemoteAddr())
return nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。