В моем проекте я хочу, чтобы к услуге подключалось несколько клиентов.Я использую реализацию Java Rsocket.
Служба должна поддерживать состояние для каждого клиента.Теперь я могу управлять клиентами по некоторому идентификатору.Этот вариант я уже реализовал.Но я не хочу управлять сессией вручную, используя строки.
Поэтому другая идея заключается в идентификации клиентов по соединению Rsocket.Есть ли способ использовать канал Rsocket для идентификации конкретного клиента?
Представьте себе пример службы и пару клиентов.У каждого клиента есть канал Rsocket с запущенной и работающей службой.Есть ли способ идентифицировать этих клиентов на стороне сервера, используя канал Rsocket?Было бы удивительно, если бы вы могли показать программный пример такого поведения.Спасибо!
РЕДАКТИРОВАТЬ (описание случая более подробно)
Вот мой пример.
В настоящее время у нас есть три объекта CORBA, которые используются какпродемонстрировано на диаграмме:
- LoginObject (на который извлекается ссылка через NamingService).Клиенты могут вызывать метод login () для получения сеанса
- Объект Session имеет различные методы для получения подробных сведений о текущем контексте обслуживания и, что наиболее важно, для получения объекта Transaction
- Объект Transaction можетиспользоваться для выполнения различных команд через универсальный метод, который принимает имя_команды и список пар ключ-значение в качестве параметров.После того, как клиент выполнил n команд, он может зафиксировать или откатить транзакцию (также с помощью методов объекта Transaction).
![enter image description here](https://i.stack.imgur.com/LF1rF.png)
, поэтому здесь мыиспользуйте объект сеанса для выполнения транзакций в нашем сервисе.
Теперь мы решили перейти от CORBA к Rsocket.Таким образом, нам нужен микросервис Rsocket, чтобы иметь возможность хранить состояние сеанса, иначе мы не можем знать, что будет зафиксировано или откатано.Можно ли это сделать только с отдельным издателем для каждого клиента?