Bu proje, Python ile yazılmış bir gRPC server ve .NET 8 ile geliştirilmiş bir gRPC client arasında yapılan unary tipte (tek yönlü) iletişimi örneklemektedir.
Yeni başlayanlar için farklı diller arasında gRPC iletişimini basit bir senaryo ile göstermek.
Bu projede:
- Python sunucusu
SayHelloisimli RPC ile karşıdan bir isim alır ve ona selam verir. - .NET istemcisi, bu servise bağlanır ve kullanıcıdan aldığı ismi sunucuya yollar.
grpc-unary-demo/ │ ├── python-server/ # Python ile yazılmış gRPC server │ ├── server.py # Ana sunucu dosyası │ └── greeter.proto # Protobuf tanımı │ └── dotnet-client/ # .NET 8 ile yazılmış client └── DotnetGrpcClient/ ├── Program.cs # İstemci mantığı ├── Protos/ │ └── greeter.proto # Aynı proto dosyasının kopyası └── DotnetGrpcClient.csproj
- Python 3.10+
- grpcio
- grpcio-tools
Kurulum:
pip install grpcio grpcio-tools .NET (İstemci için) .NET 8 SDK
Visual Studio veya VS Code (C# uzantısı yüklü olmalı)
⚙️ Çalıştırma
- Python gRPC Server’ı başlat:
cd python-server python server.py Başarılıysa:
🚀 gRPC Python Server çalışıyor... Port: 50051 2. .NET Client çalıştır:
cd dotnet-client/DotnetGrpcClient dotnet run Çıktı:
İsmini gir: erol 🚀 Python sunucusundan cevap: Merhaba erol! gRPC sunucusundan selamlar. 🧠 Öğrenilenler gRPC ile farklı diller arasında kolay iletişim kurulabileceği
.proto dosyasının her iki projede ortak kullanımı
Grpc.Tools NuGet paketi ile otomatik sınıf üretimi
REST dışı alternatif protokol (gRPC) kullanımı
🛡️ Lisans MIT Lisansı
✨ Katkı ve Gelişim Bu repo, öğrenim sürecindeki kişisel gelişim amaçlıdır. Pull request’lere ve önerilere açığım! İletişim: [email protected]