Files
talksik 2e6d931974 feat: test grpc client reconnects
Ensure that we don't receive GOAWAY after 30 minutes of repeated calls to our server
2025-03-26 14:21:53 -07:00

51 lines
1.0 KiB
Go

package main
import (
"context"
"crypto/tls"
"fmt"
"log"
"os"
"os/signal"
"syscall"
"time"
pbedge "github.com/talksik/grpc-client-test/genproto/helios/edge"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
)
func main() {
// basic grpc client
creds := credentials.NewTLS(&tls.Config{})
conn, err := grpc.Dial("xxxxx", grpc.WithTransportCredentials(creds))
if err != nil {
log.Fatalf("Failed to connect: %v", err)
}
defer conn.Close()
client := pbedge.NewAuthServiceClient(conn)
ctx := context.Background()
stop := make(chan os.Signal, 1)
signal.Notify(stop, os.Interrupt, syscall.SIGTERM)
for {
select {
case <-stop:
fmt.Println("Interrupt received, stopping...")
return
default:
// Your instruction here
fmt.Println("calling test rpc...")
response, err := client.SignOut(ctx, &pbedge.SignOutRequest{})
if err != nil {
log.Fatalf("Error calling SayHello: %v", err)
}
log.Printf("received response: %v", response)
time.Sleep(10 * time.Second) // Simulate work
}
}
}