github上最新版中更新后,无法自定义设置session的gate.StorageHandler接口
发布于 2 年前 作者 charmfocus 770 次浏览 来自 问答

更新到最新版后,无法运行自定义session功能,主要是因为改动了gate.StorageHandler接口参数类型为Storage(Userid string, session Session) (err error) 这是我在自定义网关中定义的Storage方法

func (gate *Gate) Storage(Userid string, session gate.Session) (err error) {
	conn := redisPool.Get()
	defer conn.Close()
	//session并不是basegate.session对象,session对象中是含有一个私有的session字段是支持Marshal参数的,但未有获取该参数的方法
	data, err := proto.Marshal(session)
	conn.Do("SET", Userid, data, "EX", expire)
	return nil
}
1 回复

知道了,刚查到需要这样用:data, err := session.Serializable()

回到顶部