mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-27 05:52:29 +08:00 
			
		
		
		
	# Conflicts: # cmd/open_im_api/main.go # internal/rpc/auth/rpcAuth.go # internal/rpc/chat/rpcChat.go # src/common/log/logrus.go
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package auth
 | |
| 
 | |
| import (
 | |
| 	"Open_IM/pkg/common/config"
 | |
| 	"Open_IM/pkg/common/log"
 | |
| 	"Open_IM/pkg/grpc-etcdv3/getcdv3"
 | |
| 	pbAuth "Open_IM/pkg/proto/auth"
 | |
| 	"Open_IM/pkg/utils"
 | |
| 	"google.golang.org/grpc"
 | |
| 	"net"
 | |
| 	"strconv"
 | |
| 	"strings"
 | |
| )
 | |
| 
 | |
| type rpcAuth struct {
 | |
| 	rpcPort         int
 | |
| 	rpcRegisterName string
 | |
| 	etcdSchema      string
 | |
| 	etcdAddr        []string
 | |
| }
 | |
| 
 | |
| func NewRpcAuthServer(port int) *rpcAuth {
 | |
| 	log.NewPrivateLog("auth")
 | |
| 	return &rpcAuth{
 | |
| 		rpcPort:         port,
 | |
| 		rpcRegisterName: config.Config.RpcRegisterName.OpenImAuthName,
 | |
| 		etcdSchema:      config.Config.Etcd.EtcdSchema,
 | |
| 		etcdAddr:        config.Config.Etcd.EtcdAddr,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (rpc *rpcAuth) Run() {
 | |
| 	log.Info("", "", "rpc get_token init...")
 | |
| 
 | |
| 	address := utils.ServerIP + ":" + strconv.Itoa(rpc.rpcPort)
 | |
| 	listener, err := net.Listen("tcp", address)
 | |
| 	if err != nil {
 | |
| 		log.Error("", "", "listen network failed, err = %s, address = %s", err.Error(), address)
 | |
| 		return
 | |
| 	}
 | |
| 	log.Info("", "", "listen network success, address = %s", address)
 | |
| 
 | |
| 	//grpc server
 | |
| 	srv := grpc.NewServer()
 | |
| 	defer srv.GracefulStop()
 | |
| 
 | |
| 	//service registers with etcd
 | |
| 
 | |
| 	pbAuth.RegisterAuthServer(srv, rpc)
 | |
| 	err = getcdv3.RegisterEtcd(rpc.etcdSchema, strings.Join(rpc.etcdAddr, ","), utils.ServerIP, rpc.rpcPort, rpc.rpcRegisterName, 10)
 | |
| 	if err != nil {
 | |
| 		log.Error("", "", "register rpc get_token to etcd failed, err = %s", err.Error())
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	err = srv.Serve(listener)
 | |
| 	if err != nil {
 | |
| 		log.Info("", "", "rpc get_token fail, err = %s", err.Error())
 | |
| 		return
 | |
| 	}
 | |
| 	log.Info("", "", "rpc get_token init success")
 | |
| }
 |