TCP和UDP也支持DAU统计

This commit is contained in:
刘祥超
2024-04-14 16:55:35 +08:00
parent cdb6134a3b
commit 7e11ee98a9
2 changed files with 15 additions and 3 deletions

View File

@@ -145,6 +145,12 @@ func (this *TCPListener) handleConn(server *serverconfigs.ServerConfig, conn net
stats.SharedTrafficStatManager.Add(server.UserId, server.Id, "", 0, 0, 1, 0, 0, 0, 0, server.ShouldCheckTrafficLimit(), server.PlanId())
}
// DAU统计
clientIP, _, parseErr := net.SplitHostPort(conn.RemoteAddr().String())
if parseErr == nil {
stats.SharedDAUManager.AddIP(server.Id, clientIP)
}
originConn, err := this.connectOrigin(server.Id, serverName, server.ReverseProxy, conn.RemoteAddr().String())
if err != nil {
_ = conn.Close()

View File

@@ -359,9 +359,9 @@ type UDPConn struct {
isClosed bool
}
func NewUDPConn(server *serverconfigs.ServerConfig, addr net.Addr, proxyListener UDPPacketListener, cm any, serverConn *net.UDPConn) *UDPConn {
func NewUDPConn(server *serverconfigs.ServerConfig, clientAddr net.Addr, proxyListener UDPPacketListener, cm any, serverConn *net.UDPConn) *UDPConn {
var conn = &UDPConn{
addr: addr,
addr: clientAddr,
proxyListener: proxyListener,
serverConn: serverConn,
activatedAt: time.Now().Unix(),
@@ -371,6 +371,12 @@ func NewUDPConn(server *serverconfigs.ServerConfig, addr net.Addr, proxyListener
// 统计
if server != nil {
stats.SharedTrafficStatManager.Add(server.UserId, server.Id, "", 0, 0, 1, 0, 0, 0, 0, server.ShouldCheckTrafficLimit(), server.PlanId())
// DAU统计
clientIP, _, parseErr := net.SplitHostPort(clientAddr.String())
if parseErr == nil {
stats.SharedDAUManager.AddIP(server.Id, clientIP)
}
}
// 处理ControlMessage
@@ -392,7 +398,7 @@ func NewUDPConn(server *serverconfigs.ServerConfig, addr net.Addr, proxyListener
if n > 0 {
conn.activatedAt = time.Now().Unix()
_, writingErr := proxyListener.WriteTo(buffer[:n], cm, addr)
_, writingErr := proxyListener.WriteTo(buffer[:n], cm, clientAddr)
if writingErr != nil {
conn.isOk = false
break