Я планирую написать приложение «клиент + сервер» с нуля, одним из основных пунктов приложения является обмен сообщениями в чате. Я привык писать API отдыха и мне это нравится. Хотя в других постах я читал, что это совсем не оптимально для варианта использования «обмена сообщениями в чате» (я согласен с этим, конечно).
Я бы очень хотел написать сервер, основанный на Rest, поэтому моя идея (при желании иметь хоть какую-то эффективность [не генерировать запросы GET каждую секунду ..] и при этом поддерживать некоторый опыт пользователя в реальном времени) в основном такова:
- Использовать некоторые вид XMPP только для уведомления клиента, поэтому он будет знать, что серверу есть, что ему сказать. (клиент мог бы, например, вызвать что-то вроде «1.2.3.4:5678/.../whatsNew"
- ». Затем сервер отправляет информацию об обновлении (сообщения, статусы online / offline / not_here et et c)
Я полностью согласен с тем, что эта идея не изящна и что для этого мне, вероятно, следует использовать только XMPP, но я думаю, что у моего подхода есть некоторые преимущества:
- Как я уже сказал Знаете, отдых, и это приложение не будет таким огромным, это может сэкономить много времени, возможно, даст мне больше шансов закончить это вообще.
- Мне кажется, что отдых больше поддерживается, и в основном на каждом устройство, браузер и т. д. c проще в реализации
- Некоторые порты, используемые XMPP, могут быть заблокированы (корпоративные брандмауэры и т. д. c), поэтому, с моим подходом, если по какой-либо причине XMPP не работает, мой интерфейс может все еще устанавливайте соединения и получайте сообщения, только с худшей скоростью (например, по ссылке sh или один раз в 20se c, если я запрограммирую это таким образом)
Я хотел бы знать, если я я в л немного правее.
Если это уместно, я планирую написать интерфейс JavaFX (возможно, + Maven (+ Spring?) )) и Maven + Springboot Java backend.
Я думаю, что мне нужен XMPP или что-то подобное, потому что мне нужны некоторые функции реального времени («пользователь печатает», «статус пользователя - dont_talk_to_me», «только что пришло сообщение») : "et c.) и я не хочу спамить сервер бесполезными запросами, просто чтобы постоянно получать пустые результаты.
Что вы думаете об этой идее, используя XMPP вместе с Rest
* 1032? * Большое спасибо за любой ответ!