214 похожих чатов

Ребята, кто работал с rabbitmq ? Такая проблема, мне нужно публиковать

сообщения в очередь на сервере. Например, на сайте кто-то пишет в чат, сообщение приходит на сервер и сервер публикует его в очередь.
На очередь будет подписываться десктоп приложение, которое может находиться не на сервере.
(приложение для мониторинга)
У меня получается локально запустить всё, но как настроить так, чтобы можно было подписываться на очередь глобально?
Какие конфигурации должны быть у ConnectionFactory? И как сделать это максимально безопасно

7 ответов

1 просмотр

Я посчитал что подписываться на очередь не очень хорошее решение. Больше по нраву служба которая бы по таймату забирающая из очереди сообщения. У new ConnectionFactory смотрите свойства HostName, Порт, Имя, Пароль, AutomaticRecoveryEnabled = false уже не помню нафига. Далее при работе с очередью уже нужно ее имя

Alex Ibraimov
А можешь объяснить почему?

При подписке на очередь сообщение сразу же приходит в "калбакер" и удаляется из очереди методом Ack вроде бы. Как бы хз как оно работает, я хочу быть зависим только от своего кода. Договорились 2 сторонние компании о обмене - в процессе разработки/доработки взял например из очереди всё при этом сообщения оставил там методом Nack. Посмотрел, потлаживал, записал куда нужно, ошибки сформировал в другую очередь кинул, может кто-то в поле каком налажал и код упал твой, также всегда такую службу стопнул в период простоя и снова поотлаживал. Короче это удобнее, чем сразу у тебя что-то работает уже и намертво забирает навсегда: что-то где-то не так как надо пойдет и какие сообщения могут потеряться или остаться без ответа - это не дело! Это чисто такое моё субъективное, почему то в большинстве мануалов сразу пример на подписку - может тогда суждение эти не совсем правильные выходит:-)

Alex-Ibraimov Автор вопроса
Матвей Чернобровкин
При подписке на очередь сообщение сразу же приходи...

Ок, теперь понятно. Просто у меня это приложение для мониторинга, если потерялось сообщение в чате или ставка не прошла, то и хрен с ним. Но в целом я попробую также сделать. Ты сказал про host, если компьютер сервера и клиента находятся не в локальной сети. То мне нужно прописывать какой ip? Я гуглю, но нифига не нахожу. Или это может быть юрл?

Alex Ibraimov
Ок, теперь понятно. Просто у меня это приложение д...

Ip на котором стоит рабит, желательно конечно постоянной. В твоей задаче я бы уже пересмотрел используемые средства, раббит тут не подходит

Alex-Ibraimov Автор вопроса

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Карта сайта