Developing a gRPC server
In this section, we are going to create a gRPC server based on the api.proto
file presented in the previous section. As gRPC needs external packages, we are going to need a GitHub repository to host the files, which is going to be https://github.com/mactsouk/grpc.
The code of gServer.go
(located in the server
directory) that is related to gRPC (some functions were omitted for brevity) is the following:
package main
import (
"context"
"fmt"
"math/rand"
"net"
"os"
"time"
This program uses math/rand
instead of the more secure crypto/rand
for generating random numbers because we need a seed value to be able to reproduce random number sequences.
"github.com/mactsouk/protoapi"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
)
The import
block includes external Google packages as well as github.com/mactsouk...