连接优化

This commit is contained in:
kercylan98 2023-05-11 10:44:38 +08:00
parent 22cd55fb03
commit 61ba4cfad6
1 changed files with 9 additions and 7 deletions

View File

@ -15,6 +15,7 @@ func newKcpConn(session *kcp.UDPSession) *Conn {
_, err := session.Write(data) _, err := session.Write(data)
return err return err
}, },
data: map[any]any{},
} }
} }
@ -26,6 +27,7 @@ func newGNetConn(conn gnet.Conn) *Conn {
write: func(data []byte) error { write: func(data []byte) error {
return conn.AsyncWrite(data) return conn.AsyncWrite(data)
}, },
data: map[any]any{},
} }
} }
@ -37,6 +39,7 @@ func newWebsocketConn(ws *websocket.Conn, ip string) *Conn {
write: func(data []byte) error { write: func(data []byte) error {
return ws.WriteMessage(websocket.BinaryMessage, data) return ws.WriteMessage(websocket.BinaryMessage, data)
}, },
data: map[any]any{},
} }
} }
@ -62,31 +65,30 @@ func (slf *Conn) Write(data []byte) error {
// Close 关闭连接 // Close 关闭连接
func (slf *Conn) Close() { func (slf *Conn) Close() {
if slf.ws != nil { if slf.ws != nil {
slf.ws.Close() _ = slf.ws.Close()
} else if slf.gn != nil { } else if slf.gn != nil {
slf.gn.Close() _ = slf.gn.Close()
} else if slf.kcp != nil { } else if slf.kcp != nil {
slf.kcp.Close() _ = slf.kcp.Close()
} }
slf.write = nil slf.write = nil
} }
// SetData 设置连接数据
func (slf *Conn) SetData(key, value any) *Conn { func (slf *Conn) SetData(key, value any) *Conn {
if slf.data == nil {
slf.data = map[any]any{}
}
slf.data[key] = value slf.data[key] = value
return slf return slf
} }
// GetData 获取连接数据
func (slf *Conn) GetData(key any) any { func (slf *Conn) GetData(key any) any {
return slf.data[key] return slf.data[key]
} }
// ReleaseData 释放数据
func (slf *Conn) ReleaseData() *Conn { func (slf *Conn) ReleaseData() *Conn {
for k := range slf.data { for k := range slf.data {
delete(slf.data, k) delete(slf.data, k)
} }
slf.data = nil
return slf return slf
} }