diff --git a/lib/grpc/http3/server.go b/lib/grpc/http3/server.go index 5fb312b..e8da927 100644 --- a/lib/grpc/http3/server.go +++ b/lib/grpc/http3/server.go @@ -33,11 +33,11 @@ func generateTLSConfig() (*tls.Config, error) { Subject: pkix.Name{ Organization: []string{"gRPC HTTP3 Canary"}, }, - NotBefore: time.Now(), - NotAfter: time.Now().Add(365 * 24 * time.Hour), - KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature, + NotBefore: time.Now(), + NotAfter: time.Now().Add(365 * 24 * time.Hour), + KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature, ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, - DNSNames: []string{"localhost"}, + DNSNames: []string{"localhost"}, IPAddresses: []net.IP{net.ParseIP("127.0.0.1"), net.ParseIP("::1")}, } diff --git a/lib/main.go b/lib/main.go index 894ea5b..05e1493 100644 --- a/lib/main.go +++ b/lib/main.go @@ -2,8 +2,7 @@ package main import ( "fmt" - "grpccanary/lib/grpc/basic" - "grpccanary/lib/jsonexample" + "grpccanary/lib/grpc/http3" "time" ) @@ -11,21 +10,27 @@ var port = ":8080" func main() { // 1단계: JSON 파싱 예제 실행 - jsonexample.JsonParsingExample() + // jsonexample.JsonParsingExample() // 3단계: gRPC 통신 예제 실행 (필요 시 주석 제거하여 활성화 가능) - // grpcSample() + grpcSample() } func grpcSample() { fmt.Println("--- starting gRPC IoT Simulation ---") // 1. gRPC 서버를 백그라운드 고루틴으로 구동 - go basic.ServerRun(port) + go func() { + if _, _, err := http3.ServerRun(port); err != nil { + fmt.Println("ServerRun error:", err) + } + }() // 2. 서버 포트가 바인딩되어 통신 대기 상태에 들어갈 시간을 일시적으로 보장 time.Sleep(100 * time.Millisecond) // 3. gRPC 클라이언트를 구동하여 원격 프로시저(RPC) 기동 시뮬레이션 집행 - basic.ClientRun(port) + if err := http3.ClientRun(port); err != nil { + fmt.Println("ClientRun error:", err) + } }