grpcsrv服务启动端口和输入端口不一致:

grpcsrv服务启动端口和输入端口不一致:

grpcsrv服务启动端口和输入端口不一致:

ps:中间从阿里云的mysql换到了虚拟的mysql


测试段报错截图:

https://img1.sycdn.imooc.com//climg/6474900809d1780c13830429.jpg

服务端报错截图:

https://img1.sycdn.imooc.com//climg/647490d70918665916530560.jpg

启动代码

package main

import (
   "flag"
   "fmt"
   "go.uber.org/zap"
   "mxshop_text/user_srvs/initialize"
   "net"
   "os"
   "os/signal"
   "syscall"

   "google.golang.org/grpc"

   "mxshop_text/user_srvs/handler"
   "mxshop_text/user_srvs/proto"
)

func main() {
   initialize.Logger()

   IP := flag.String("ip:", "0.0.0.0", "ip地址")
   Port := flag.Int("port", 50052, "端口号")

   flag.Parse()
   fmt.Println("ip:", *IP)
   fmt.Println("Port:", *Port)

   server := grpc.NewServer()
   proto.RegisterUserServer(server, &handler.UserService{})
   lis, err := net.Listen("tcp", fmt.Sprintf("%s:%d", *IP, *Port))
   if err != nil {
      panic("failed to listen" + err.Error())
   }
   go func() {
      err = server.Serve(lis)
      if err != nil {
         panic("failed to start grpc:" + err.Error())
      }
   }()
   quit := make(chan os.Signal)
   signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
   <-quit
   zap.S().Info("注销成功")
}

测试代码:

package main

import (
   "context"
   "fmt"
   "google.golang.org/grpc"
   "mxshop_text/user_srvs/proto"
)

var userClient proto.UserClient
var conn *grpc.ClientConn

func Init() {
   var err error
   conn, err = grpc.Dial("127.0.0.1:50052", grpc.WithInsecure())
   if err != nil {
      panic(err)
   }
   userClient = proto.NewUserClient(conn)
}

func TestGetUserList() {
   rsp, err := userClient.GetUserList(context.Background(), &proto.PageInfo{
      Pn:    1,
      PSize: 5,
   })
   if err != nil {
      panic(err)
   }
   for _, user := range rsp.Data {
      fmt.Println(user.Mobile, user.NickName, user.PassWord)
      checkRsp, err := userClient.CheckPassWord(context.Background(), &proto.PasswordCheckInfo{
         Password:          "admin123",
         EncryptedPassword: user.PassWord,
      })
      if err != nil {
         panic(err)
      }
      fmt.Println(checkRsp.Success)
   }
}
func main() {
   Init()
   //TestCreateUser()
   TestGetUserList()

   conn.Close()
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
bobby 2023-05-31 17:39:33

这里连接到5002是没有问题的,你这里的问题是服务端代码报错了,你咨询看一下服务端的异常栈信息

  • 提问者 _瓦达西瓦 #1

    嗯。。。不知道为什么,你回答之后突然全好了,consul也能健康检查了,然后这个空指针的的问题也没了


    2023-05-31 17:54:09
  • bobby 回复 提问者 _瓦达西瓦 #2

    好的,后面再遇到问题再发一个问题吧

    2023-06-02 22:53:59
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Go开发工程师全新版
  • 参与学习       489    人
  • 解答问题       559    个

风口上的技术,薪资水平遥遥领先,现在学习正值红利期! 未来3-5年,Go语言势必成为企业高性能项目中不可替代的语言 从基础到项目实战再到重构,对转行人员友好,真正从入门到精通!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师