main.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. listen, err := net.Listen("tcp", ":8081")
  24. if err != nil {
  25. panic(err)
  26. }
  27. err = rpcServer.Serve(listen)
  28. if err != nil {
  29. panic(err)
  30. }
  31. // 让rpc提供http服务
  32. //mux := http.NewServeMux()
  33. //mux.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
  34. // fmt.Println(request.Proto)
  35. // fmt.Println(request.Header)
  36. // rpcServer.ServeHTTP(writer, request)
  37. //})
  38. //
  39. //httpServer := &http.Server{
  40. // Addr: ":8081",
  41. // Handler: mux,
  42. //}
  43. //
  44. //httpServer.ListenAndServeTLS("/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.pem", "/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.key")
  45. }