Я пытаюсь создать программу, чтобы клиенты могли отправлять сообщения друг другу.Поэтому, когда клиент отправляет сообщение, оно отправляется на сервер, который отправляет его клиенту-получателю.проблема, с которой я сталкиваюсь, заключается в том, что у сервера нет возможности отправлять сообщения клиенту без того, чтобы этот клиент сначала отправлял сообщение, поэтому как клиент может просто получить сообщение от другого клиента через сервер, если он сначала ничего не отправляет.
это мой прото-файл:
service Messenger {
rpc SendMessage (stream Message) returns (stream Message) {}
}
message Message {
string msg = 1;
receiverId = 2;
}
Я также сгенерировал файлы классов и написал функции клиента и сервера для отправки сообщений в следующем примере: https://github.com/grpc/grpc/blob/v1.15.0/examples/csharp/RouteGuide/RouteGuideServer/RouteGuideImpl.cs. нана данный момент, он только позволяет клиенту отправлять сообщения на сервер.Сейчас я ищу способ либо
1) отправить сообщение с сервера клиенту, который имеет тот же идентификатор, что и идентификатор приемника, указанный в сообщении
ИЛИ
2) Я слышал, что у вас могут быть клиенты, подписывающиеся на сообщения от некоторых клиентов, но я не могу найти ничего о том, как это сделать
любая помощь приветствуется!спасибо