Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Support (Russian)
  3. XMPP

XMPP

Scheduled Pinned Locked Moved Support (Russian)
10 Posts 3 Posters 16.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M
    M
    maxwal
    wrote on last edited by
    #1

    Добрый день.
    Пробую подключить XMPP.
    После запуска сервера сообщения отправляются и принимаются.
    Примерно минут через 5 пользователь вываливается с сервера и больше не подключается.

    По debug 6 вываливается:

    [28-May-2015 12:46:45.982] [DEBUG] XMPP: RECV: </stream:stream>
    [28-May-2015 12:46:45.982] [DEBUG] XMPP: Closing socket.
    [28-May-2015 12:46:45.982] [DEBUG] XMPP: disconnected
    [28-May-2015 12:46:45.982] [DEBUG] XMPP: Stopping event loop.
    

    Только что нашел источник такого глюка. На xmpp сервере(OpenFire) стояла настройка на разрыв соединения при простое клиента больше 360 секунд.
    Так что теперь у меня другой вопрос: как сделать так, чтобы NetXMS не находился в состоянии idle на xmpp сервере? Другие клиенты не отваливаются.

    1 Reply Last reply
    0
    • K
      K
      kozlov_ao
      wrote on last edited by
      #2

      По идее надо отправлять KeepAlive пакеты... но я не нашел подобной настройки.

      Но что то мне подсказывает, что сервер не должен быть on-line. Должен просто подключаться каждый раз при отправке. А если включить дебаг в OpenFire, то при попытке отправки что то будет видно?

      1 Reply Last reply
      0
      • M
        M
        maxwal
        wrote on last edited by
        #3

        Сервер не должен быть в онлайне для отправки сообщений, но вот для получения команд в онлайне быть обязан)))
        Сейчас все хорошо работает, как раз с помощью дебага openfire выяснилось, что по бездействию происходит отключение NetXMS клиента. Таймаут бездействия на OpenFire отключил - сервер вроде в онлайне всегда. Но, я так понимаю, что этот таймаут должен отключать повисшие сеансы, когда программа-клиент вылетела и сокет не закрыт корректно. Конечно же могу ошибаться, я не сильно вникал в работу XMPP со всеми его XEP, но надеюсь мыслю в верном направлении.

        В общем нужен некий reconnect. Например у меня сервер xmpp на ночь отключается за ненадобностью, наверно после такого отключения NetXMS не вернется в онлайн, сегодня проверю.

        1 Reply Last reply
        0
        • M
          M
          maxwal
          wrote on last edited by
          #4

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

          1 Reply Last reply
          0
          • M
            M
            maxwal
            wrote on last edited by
            #5

            По логам тоже ничего внятного не увидел.

            Это последнее по NetXMS

            [29-May-2015 01:52:18.388] [DEBUG] XMPP: RECV: <presence id="y82e8-67" to="[email protected]" type="unavailable" from="[email protected]/androidfl918JHf"><c hash="sha-1" xmlns="http://jabber.org/protocol/caps" ver="GyIX/Kpa4ScVmsZCxRBboJlLAYU=" node="http://www.igniterealtime.org/projects/smack/"/></presence>
            

            А это по OpenFire

            2015.05.29 01:49:59 org.jivesoftware.util.Log - getConversation: SELECT_CONVERSATIONS: org.hsqldb.jdbc.jdbcPreparedStatement@4e42c2[sql=[SELECT DISTINCT ofConversation.conversationID, ofConversation.room, ofConversation.isExternal, ofConversation.startDate, ofConversation.lastActivity, ofConversation.messageCount, ofConParticipant.joinedDate, ofConParticipant.leftDate, ofConParticipant.bareJID, ofConParticipant.jidResource, ofConParticipant.nickname, case when ofConParticipant.bareJID=ofMessageArchive.fromJID then ofMessageArchive.fromJID else ofMessageArchive.toJID end as fromJID, case when ofConParticipant.bareJID=ofMessageArchive.toJID then ofMessageArchive.fromJID else ofMessageArchive.toJID end as toJID FROM ofConversation INNER JOIN ofConParticipant ON ofConversation.conversationID = ofConParticipant.conversationID INNER JOIN ofMessageArchive ON ofConParticipant.conversationID = ofMessageArchive.conversationID WHERE ofConParticipant.bareJID = ? AND (ofMessageArchive.toJID = ? OR ofMessageArchive.fromJID = ?) AND ofConversation.startDate = ? ], parameters=[[[email protected]], [[email protected]], [[email protected]], [1432851118499]]]
            

            А потом тишина. На всякий пожарный обновил OpenFire до последнего, но это не помогло. Нужно переподключение клиента XMPP. Если можно организовать самостоятельно(например перезапускать модуль XMPP), то подскажите как.
            Заранее спасибо.

            1 Reply Last reply
            0
            • K
              K
              kozlov_ao
              wrote on last edited by
              #6

              Костыль конечно... но попробуй чем нить посылать левые запросы на сервер. Это должно спасти...

              1 Reply Last reply
              0
              • Z
                Z
                Tatjana Dubrovica
                wrote on last edited by
                #7

                Необходимые изменения будут добавлены вместе с исправлением этой https://dev.raden.solutions/issues/806 ошибки.

                1 Reply Last reply
                0
                • Z
                  Z
                  Tatjana Dubrovica
                  wrote on last edited by
                  #8

                  Проверьте в следующем релизе(2.0-М5). Необходимые изменения для возобновления соединения были внесены в код.

                  1 Reply Last reply
                  0
                  • M
                    M
                    maxwal
                    wrote on last edited by
                    #9

                    @zev said in XMPP:

                    Проверьте в следующем релизе(2.0-М5). Необходимые изменения для возобновления соединения были внесены в код.

                    Спасибо, работает, переподключается при отключении.

                    1 Reply Last reply
                    0
                    • M
                      M
                      maxwal
                      wrote on last edited by
                      #10

                      Всем привет.
                      Вынужден снова поднять эту тему.
                      Понаблюдал я немного за поведением модуля xmpp(далее бот) и вот что выходит на текущий момент:

                      • xmpp бот периодически отваливается от сервера. С релизом 2.0-М5 он научился возвращаться в онлайн.
                      • данные манипуляции он совершает от нескольких часов до нескольких суток, но в итоге оказывается в оффлайне.
                      • если бота нет в сети, но NetXMS создал тревогу, по которой в качестве действия отправка xmpp, то наш маленький герой в этот миг появляется в онлайне, правда сообщение не отсылает
                      • также замечено, что он может вывалится и тут же вернуться в момент тревоги, но также без оповещения.
                      • находясь в онлайне может не отвечать на запросы. Если перезагрузить сервер, то ответит на все, что не прочитал ранее.

                      Я снова погрешил на свой OpenFire  и попробовал отправлять уведомления через общественный джаббер.ру, который работает на Ejabberd, но ситуация повторилась.

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      Powered by NodeBB Contributors
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups