Add week 2 materials
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
//go:generate protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative proto/storage.proto
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
storagepb "hsegrpc/proto"
|
||||
"hsegrpc/storage"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/reflection"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// Reading server address from env.
|
||||
addr := os.Getenv("SERVER_ADDR")
|
||||
if addr == "" {
|
||||
addr = "0.0.0.0:51000"
|
||||
|
||||
fmt.Println("Missing SERVER_ADDR, using default value: " + addr)
|
||||
}
|
||||
|
||||
// Creating a TCP socket.
|
||||
lis, err := net.Listen("tcp", addr)
|
||||
if err != nil {
|
||||
log.Fatalf("failed to listen: %v", err)
|
||||
}
|
||||
|
||||
grpcServer := grpc.NewServer()
|
||||
// If you want to connect to the server via grpcurl, you have to register the reflection service.
|
||||
reflection.Register(grpcServer)
|
||||
|
||||
// Creating and registering implementation of the storage service.
|
||||
storageService := storage.NewServer()
|
||||
storagepb.RegisterStorageServer(grpcServer, storageService)
|
||||
|
||||
// Starting the server.
|
||||
err = grpcServer.Serve(lis)
|
||||
if err != nil {
|
||||
log.Fatalf("server failed")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user