Связь между C# и Java
Я хочу использовать GRPC в C# и Java.
C# должен действовать как сервер, а Java как клиент.
Я пользователь Windows и не знаю, как создать файл прото для C# и Java.
На сайте я нашел только учебники для конкретного языка, но не для разных языков.
2 ответа
Использование gRPC в C# и Java должно быть таким же простым, как и использование их по отдельности. Все, что вам нужно сделать, это использовать то же самое .proto
файл для генерации кода для каждого. .proto
определяет методы и сообщения, с которыми C# и Java будут совместимы.
Если вы посмотрите на каждый набор примеров, они используют один и тот же .proto
(То есть, helloworld.proto
или же route_guide.proto
). Примеры совместимы между языками (т. Е. Сервер C# helloworld может взаимодействовать с клиентом Java helloworld).
Задать службы gRPC в файлах прототипов довольно просто; Я полагаю, что если просто посмотреть на примеры, это станет достаточно ясно. Для получения дополнительной информации об определении прототипа сообщений вы можете обратиться к документации по protobuf.
Самый простой способ разрешить этим приложениям взаимодействовать - создать клиент-серверные приложения с использованием сокетов... C#, выступая в роли сервера, должен прослушивать клиентское соединение через указанный порт, а приложение Java, выступающее в роли клиента, должно отправлять запрос на подключение к тому же порту, который слушает приложение C#... Существа, которые подключены этими приложениями через сетевой язык, больше не актуальны. Вы можете просто свободно передавать данные между приложениями, хотя каждое приложение может обрабатывать данные по-своему. Надеюсь это поможет.