diff --git a/docs/GRPC.md b/docs/GRPC.md index abee3c4..256d730 100644 --- a/docs/GRPC.md +++ b/docs/GRPC.md @@ -229,7 +229,7 @@ protoc --go_out=. --go-grpc_out=. protoapi.proto * **원격 서비스 클라이언트 기동 (`NewIoTServiceClient`)**: ```go - conn, _ := grpc.Dial(addr, grpc.WithTransportCredentials(insecure.NewCredentials())) + conn, _ := grpc.NewClient(addr, grpc.WithTransportCredentials(insecure.NewCredentials())) client := protoapi.NewIoTServiceClient(conn) ``` 서버와의 TCP 채널(`conn`)을 평문 전송(insecure) 기반으로 바인딩한 뒤, 해당 채널을 통해 원격 서비스를 호출할 수 있는 전송용 클라이언트 인스턴스를 확보합니다. diff --git a/examples/grpcentity/client.go b/examples/grpcentity/client.go index c92098e..e315556 100644 --- a/examples/grpcentity/client.go +++ b/examples/grpcentity/client.go @@ -5,7 +5,6 @@ import ( "fmt" "grpccanary/examples/grpcentity/protoapi" "math/rand" - "time" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" @@ -39,9 +38,9 @@ func AskUpdateSensingData(ctx context.Context, m protoapi.IoTServiceClient, devi } func ClientRun(addr string) { - conn, err := grpc.Dial(addr, grpc.WithTransportCredentials(insecure.NewCredentials())) + conn, err := grpc.NewClient(addr, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { - fmt.Println("Dial:", err) + fmt.Println("NewClient error:", err) return } @@ -53,7 +52,6 @@ func ClientRun(addr string) { } fmt.Println("Server Date and Time:", r.Value) - rand.Seed(time.Now().Unix()) length := int64(rand.Intn(20)) p, err := AskPass(context.Background(), client, 100, length+1) if err != nil { diff --git a/examples/grpcentity/server.go b/examples/grpcentity/server.go index d12be11..dbf0f2d 100644 --- a/examples/grpcentity/server.go +++ b/examples/grpcentity/server.go @@ -33,13 +33,13 @@ func random(min, max int, src rand.Source) int { // return min + int(v.Uint64()) // } -func getString(len int64) string { +func getString(len int64, src rand.Source) string { temp := "" startChar := "!" var i int64 = 1 for { // For getting valid ASCII characters - myRand := random(0, 94, rand.NewSource(time.Now().UnixNano())) + myRand := random(0, 94, src) newChar := string(startChar[0] + byte(myRand)) temp = temp + newChar if i == len { @@ -75,8 +75,8 @@ func (IoTServer) UpdateSensingData(ctx context.Context, r *protoapi.SensingData) } func (IoTServer) GetRandomPass(ctx context.Context, r *protoapi.RequestPass) (*protoapi.RandomPass, error) { - rand.Seed(r.GetSeed()) - temp := getString(r.GetLength()) + src := rand.NewSource(r.GetSeed()) + temp := getString(r.GetLength(), src) response := &protoapi.RandomPass{ Password: temp,