Je souhaite développer une application client-serveur de manière bidirectionnelle.
quelle est la technologie la plus appropriée pour cela - grpc ou websocket?
gRPC n'est pas vraiment la partie pertinente pour la comparaison, c'est que gRPC utilise HTTP/2, ce qui peut certainement être comparé à WebSockets.
https://www.infoq.com/articles/websocket-and-http2-coexist
Cet article les décrit assez bien. HTTP/2 correspond essentiellement à Client/Serveur avec Server Push en arrière-plan. Vous pouvez ainsi faire votre demande et rester sur cette connexion tout en restant à l'écoute des mises à jour sans avoir besoin d'interrogation, par exemple.
Bien que les WebSockets ne disparaissent pas à cause de HTTP/2, elles pourraient ne pas être considérées comme nécessaires pour les cas d'utilisation centrés sur "laissez-moi savoir quand les mises à jour se rapportent à ce que je viens de faire".