zinx
zinx copied to clipboard
服务端能否感知到客户端意外断开连接?
你好老师, 请问 服务端能否感知到客户端意外断开连接? 当客户端意外退出时,服务端需要断开接连释放资源,请问能否感知到客户端意外断开连接呢?
当客户端断开时,服务器的websocket或tcp是会断开的,这时会影响如下方法
//设置该Server的连接断开时的Hook函数
func (s *Server) SetOnConnStop(hookFunc func(ziface.IConnection)) {
s.OnConnStop = hookFunc
}
你可以如下示例这样去注册一下事件
func main() {
//创建服务器句柄
s := znet.NewServer()
s.SetOnConnStop(OnConnectionStop)
}
//当客户端断开连接的时候的hook函数
func OnConnectionStop(conn ziface.IConnection) {
//你要断开连接所做的事情
}