GRPC C ++ InProcessChannel'e C ++ 'dan nasıl bağlanılır?
Ben ediyorum çalışırken JNI'yı alternatif olarak gRPC ve fikri Java / Android tarafında bağlı C ++ yan ve istemci üzerinde gRPC hizmetini sahip olmaktır. Mümkün olan en iyi performansı elde etmek için süreç içi kanalı kullanmayı tercih ederim (önerilerinize açık).
C ++ gRPC sunucusuna ile nasıl bağlanabilirim InProcessChannel()? Sorun şu ki ihtiyaç vardır geçmesi bir name
Java'nın için InProcessServerBuilder
.
C ++ gRPC testlerinde (örn. Burada ) setini bulamıyorum ve InProcessChannel
sadece saf C ++ 'da kullanılabileceğini düşündürüyor (hem sunucu hem de istemci C ++' dadır ). C ++ hizmeti ve Java istemcisi için hala mümkün mü?
PS. Java-server + Java-client için yapabildim.
PPS. Birkaç benzer QnA buldum, örneğin. burada ama hala birlikte çalışmanın bir yolu olup olmadığını merak ediyorum (muhtemelen bazı 3. taraf kanal uygulamalarıyla). Unix Domain Sockets üzerinden çalışabilir mi?
Yanıtlar
C ++ ve Java "işlem içi" aktarımları, birden çok dilin aynı süreçte olduğu durumlar için uygun şekilde adlandırılmadı. İşlem içi taşımalar yalnızca her bir dil içinde çalışır; C ++ ve Java işlem içi aktarımları etkileşim kuramaz.
Normal HTTP / 2 istemcisini / sunucusunu kullanmalısınız.
İstediğiniz gibi bir şey, belki bir "paylaşılan hafıza" aktarımı olarak var olabilirken, bu önemli bir iştir ve bakım yükü için nispeten az kullanım görür.
Eric'in Anderson cevabını doğru olarak kabul ettim. Ancak ben nasıl yaptığını bilmek yararlı olabilir çalışan Unix Alanı soketli.
Android için yama yapıp onu kullanmak zorunda kaldım . Dikkatinizi Android'e özgü bazı izin notlarına verin .netty