main.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package main
  2. import (
  3. "dy-test/dyrpc/helper"
  4. "dy-test/dyrpc/services"
  5. "dy-test/dyrpc/services/prod"
  6. "google.golang.org/grpc"
  7. "net"
  8. )
  9. const (
  10. certFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.pem"
  11. keyFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.key"
  12. caFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/ca/ca.pem"
  13. )
  14. func main() {
  15. //配置 TLS认证相关文件
  16. //creds, err := credentials.NewServerTLSFromFile("/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.pem",
  17. // "/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.key")
  18. //if err != nil {
  19. // panic(err)
  20. //}
  21. rpcServer := grpc.NewServer(grpc.Creds(helper.GetCredentials(certFile, keyFile, caFile)))
  22. prod.RegisterProdServiceServer(rpcServer, new(services.ProdService))
  23. prod.RegisterOrderServiceServer(rpcServer, new(services.OrderService))
  24. listen, err := net.Listen("tcp", ":8081")
  25. if err != nil {
  26. panic(err)
  27. }
  28. err = rpcServer.Serve(listen)
  29. if err != nil {
  30. panic(err)
  31. }
  32. // 让rpc提供http服务
  33. //mux := http.NewServeMux()
  34. //mux.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
  35. // fmt.Println(request.Proto)
  36. // fmt.Println(request.Header)
  37. // rpcServer.ServeHTTP(writer, request)
  38. //})
  39. //
  40. //httpServer := &http.Server{
  41. // Addr: ":8081",
  42. // Handler: mux,
  43. //}
  44. //
  45. //httpServer.ListenAndServeTLS("/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.pem", "/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.key")
  46. }