unknown 5 anni fa
parent
commit
f4ae503982
2 ha cambiato i file con 14 aggiunte e 11 eliminazioni
  1. 9 0
      core/struct.go
  2. 5 11
      server/common/common_inet_proxy_handle.go

+ 9 - 0
core/struct.go

@@ -3,6 +3,7 @@ package core
 import (
 	"context"
 	"errors"
+	"github.com/cnlh/nps/bridge"
 	"net"
 )
 
@@ -67,3 +68,11 @@ func (npsPlugin *NpsPlugin) End(ctx context.Context, config map[string]string) e
 func (npsPlugin *NpsPlugin) GetClientConn(ctx context.Context) net.Conn {
 	return ctx.Value(CLIENT_CONNECTION).(net.Conn)
 }
+
+func (npsPlugin *NpsPlugin) GetBridge(ctx context.Context) *bridge.Bridge {
+	return ctx.Value(BRIDGE).(*bridge.Bridge)
+}
+
+func (npsPlugin *NpsPlugin) GetClientId(ctx context.Context) int {
+	return ctx.Value(CLIENT_ID).(int)
+}

+ 5 - 11
server/common/common_inet_proxy_handle.go

@@ -2,7 +2,6 @@ package common
 
 import (
 	"context"
-	"github.com/cnlh/nps/bridge"
 	"github.com/cnlh/nps/core"
 	"net"
 )
@@ -20,25 +19,20 @@ func (proxy *Proxy) GetConfigName() *core.NpsConfigs {
 func (proxy *Proxy) Run(ctx context.Context, config map[string]string) error {
 	proxy.clientConn = proxy.GetClientConn(ctx)
 	proxy.ctx = ctx
-	bg := ctx.Value(core.BRIDGE)
-	if bg == nil {
-		return core.BRIDGE_NOT_EXIST
-	}
+
 	clientCtxConn := ctx.Value(core.CLIENT_CONNECTION)
 	if clientCtxConn == nil {
 		return core.CLIENT_CONNECTION_NOT_EXIST
 	}
 
-	clientId := ctx.Value(core.CLIENT_ID)
-	if clientId == nil {
-		return core.CLIENT_ID_NOT_EXIST
-	}
+	clientId := proxy.GetClientId(ctx)
 
-	brg := bg.(*bridge.Bridge)
-	severConn, err := brg.GetConnByClientId(clientId.(int))
+	brg := proxy.GetBridge(ctx)
+	severConn, err := brg.GetConnByClientId(clientId)
 	if err != nil {
 		return err
 	}
+
 	go core.CopyBuffer(severConn, clientCtxConn.(net.Conn))
 	core.CopyBuffer(clientCtxConn.(net.Conn), severConn)
 	return nil