grpc提供http服务

时间:2019-12-19 23:23:57   收藏:0   阅读:183
package main

import (
    "google.golang.org/grpc"
    "google.golang.org/grpc/credentials"
    "grpcpro/services"
    "log"
    "net/http"
)

func main() {
    creds, err := credentials.NewServerTLSFromFile("keys/server.crt", "keys/server_no_passwd.key")
    if err != nil {
        log.Fatal(err)
    }
    rpcServer := grpc.NewServer(grpc.Creds(creds))
    services.RegisterProdServiceServer(rpcServer, new(services.ProdService))
    //lis, _ := net.Listen("tcp", ":8081")
    //rpcServer.Serve(lis)
    mux := http.NewServeMux()
    mux.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
        rpcServer.ServeHTTP(writer, request)
    })
    httpServer := &http.Server{
        Addr:    ":8081",
        Handler: mux,
    }
    httpServer.ListenAndServeTLS("keys/server.crt", "keys/server_no_passwd.key") //启动https服务,使用http2
}


来自为知笔记(Wiz)


原文:https://www.cnblogs.com/hualou/p/12070275.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!