|
Android + FireBird
|
|||
---|---|---|---|
#18+
Приветсвую! Конечно же не любитель клянчить готовые ответы по форумам но все перепробовал, не помогает. Может быть чего-то упускаю из вида необходима связка подключение Android + FireBird среда разработки "Android Studio" в качестве сервера "Firebird-2.5.5.26952_0_x64.exe" Среда разработки и сервер развернут на "Windows 7 Enterprise" предпологается что мобильный клиент на Android будет подключаться через WiFi по локальной сети к серверу именно поэтому планируется использование jdbc-driver вариант с использованием веб сервиса пока не планируется, так как приложение будет работать в локальной сети предприятия без интернета необходимо считывать содержимое двух таблиц из FireBird в базу SQLite дальше все будет работать автономно с SQLite на мобильнике с Android Для подключения к Firebird-2.5 используется пакет "Jaybird-2.2.12-JDK_1.7.zip" который был скачен с ресурса http://www.firebirdsql.org/en/jdbc-driver/ файлы с этого пакета размещены в папке "libs" исходника проекта Код: html 1. 2.
Обе библиотеки подключены в проект через через Project -> HelloServerExt\app\libs\connector-api-1.5.jar HelloServerExt\app\libs\jaybird-2.2.12.jar правым кликом " ... Add Library" ниже приведена содержимое раздела "dependencies" в файле "D:\Proj\HelloServerExt\app\build.gradle" Код: java 1. 2. 3. 4. 5. 6. 7.
данная папка так же добавлена в переменную окружения %CLASSPATH% Код: html 1. 2.
база Firebird-2.5 находится в "c:\abc.fdb" содержимое файла "C:\Program Files\Firebird\Firebird_2_5\aliases.conf" # List of known database aliases # ------------------------------ # # Examples: # # dummy = c:\data\dummy.fdb # abc = c:\abc.fdb т.е. для подключения используется алиас "abc" обращение к базе по алиасу реализованно для того что бы исключить недоразумения при подключении с прямыми и обратными слешами при указании пути к базе, где используеются одинарные /\ где-то двойные \\ // Пробовал подключиться к базе через "IBExpert" с использованием алиаса - подключение работает ниже приводится содержимое проекта на "Android Studio" три файла: AndroidManifest.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
activity_main.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57.
MainActivity.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58.
если закоментировать строку "connect" Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
приложение в эмуляторе запускается, кнопка нажимается ошибок не наблюдается а со строкой "connect" Код: java 1.
уходит в рантайм, вот логи logcat 12-24 17:48:09.065 2354-2449/com.hfad.helloserverext E/Surface: getSlotFromBufferLocked: unknown buffer: 0xb40964b0 12-24 17:48:16.629 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.633 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBXAException> 12-24 17:48:16.633 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jdbc.FBDataSource> 12-24 17:48:16.633 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jdbc.FBDataSource> 12-24 17:48:16.633 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.634 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.637 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.637 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.639 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.640 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.643 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.644 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBXAException> 12-24 17:48:16.647 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.647 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.648 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.655 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.656 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.657 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jca.FBManagedConnection> 12-24 17:48:16.661 2354-2354/com.hfad.helloserverext I/art: Rejecting re-init on previously-failed class java.lang.Class<org.firebirdsql.jdbc.FBDataSource> 12-24 17:48:16.661 2354-2354/com.hfad.helloserverext D/AndroidRuntime: Shutting down VM 12-24 17:48:16.675 2354-2364/com.hfad.helloserverext W/art: Suspending all threads took: 12.980ms --------- beginning of crash 12-24 17:48:16.675 2354-2354/com.hfad.helloserverext E/AndroidRuntime: FATAL EXCEPTION: main Process: com.hfad.helloserverext, PID: 2354 java.lang.IllegalStateException: Could not execute method for android:onClick at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:289) at android.view.View.performClick(View.java:5198) at android.view.View$PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284) at android.view.View.performClick(View.java:5198) at android.view.View$PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NoClassDefFoundError: org.firebirdsql.jdbc.FBDataSource at org.firebirdsql.jca.FBManagedConnectionFactory.createConnectionFactory(FBManagedConnectionFactory.java:479) at org.firebirdsql.jdbc.AbstractDriver.createDataSource(AbstractDriver.java:153) at org.firebirdsql.jdbc.AbstractDriver.connect(AbstractDriver.java:134) at java.sql.DriverManager.getConnection(DriverManager.java:179) at java.sql.DriverManager.getConnection(DriverManager.java:213) at com.hfad.helloserverext.MainActivity$override.onClick_btnCheckDatabaseConnection(MainActivity.java:47) at com.hfad.helloserverext.MainActivity$override.access$dispatch(MainActivity.java) at com.hfad.helloserverext.MainActivity.onClick_btnCheckDatabaseConnection(MainActivity.java:0) at java.lang.reflect.Method.invoke(Native Method) at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284) at android.view.View.performClick(View.java:5198) at android.view.View$PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) --------- beginning of system 12-24 17:48:20.040 2354-2354/com.hfad.helloserverext I/Process: Sending signal. PID: 2354 SIG: 9 Конфигурация сети следующая: IP адрес описание устройстваlocalhostкомпьютер разработчика с установленным "Android Studio" с установленным Firebird-2.5192.168.1.1роутоер беспроводной TP-Link192.168.1.10компьютер разработчика с установленным "Android Studio" (тоже самое что и localhost)192.168.1.20тестовое физическое устройство - смартфон с Андроидом192.168.1.50тестовый компьютер в сети с установленным Firebird-2.5 с эмулятора Андроид и телефона Андроид (с адресом 192.168.1.20) запускал браузер адресом 192.168.1.1 - появляется стартовая страница роутера команда Ping отрабатывает на все стороны на компьютерах 192.168.1.10 и 192.168.1.50 Windows FairWall отключен антивирусы тоже временно отключены, т.е. порты открыты IBExpert без проблем подключается к базам на двух серверах а с приложения Андроид ничего не получается по поводу строк подключения проверял разные варианты так как прописано в мануале "Jaybird_2_1_JDBC_driver_manual.pdf" "jdbc:firebirdsql:localhost/3050:c:/db/employee.fdb" с адресами: Код: plaintext 1. 2. 3. 4. 5.
пробовал так же подключаться с указанием абсолютного пути к базе Код: plaintext 1. 2. 3. 4.
Вопрос: в чем может быть проблема со строкой connect ? Код: java 1.
почему приложение тупо закрывается и уходит в рантайм, даже эксепшены не выходят эксепшены выходят только в случае если не срабатывает Class.forName(DriverName) в том случае, если не установлены библиотеки Jaybird пробовал так же отдельно запускать connect через конструкцию Код: java 1.
или Код: java 1.
так же вываливается в рантайм может быть что-то не так с permission в файле AndroidManifest.xml или не верно установлена библиотека Jaybird или все таки имеет смысл отказаться от использования jdbc-driver в мобильных приложениях в каких-то материалах упоминается что jdbc-driver лучше использовать в десктопных приложениях в среде NetBeans Кто-нибудь сталкивался с подобной ситуацией ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 18:42 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Vladimir779jdbc:firebirdsql:localhost/3050:abc jdbc:firebirdsql:192.168.1.10/3050:abc jdbc:firebirdsql:192.168.1.50/3050:abc 1. ну какой еще localhost ??? 2. 10 и 50 - это статические адреса компов с работающим firebird? на которых есть алиас abc? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 20:35 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
kdv2. 10 и 50 - это статические адреса компов с работающим firebird? на которых есть алиас abc? Дим, у него до коннекта не доходит, можешь даже не смотреть. Насколько я помню, на ведроиде свой, несколько несовместимый со стандартным байт-код у Явы, поэтому обычные сборки драйвера там работать не могут в принципе. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 21:07 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Тогда надо Иржи спрашивать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 21:28 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
kdvТогда надо Иржи спрашивать. Дим, тебе не к лицу пьянствовать в католическое рождество. Какой, нафиг, Иржи, у Jaybird-а?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 22:09 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, не пьянствую, просто перепутал. для меня что jaybird, что .net - одна хрень. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 22:11 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Vladimir779, хоть эта тема мне не очень интересна, я за 5 минут углядел, что jaybird под андроид в 2013 году был сделан в виде отдельного порта https://sourceforge.net/projects/androidjaybird/files/ и это была версия 2.2.4. Видимо, были причины. так что, об этом нужно спрашивать Mark Rotteveel. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 22:18 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
kdv, автор1. ну какой еще localhost ??? 2. 10 и 50 - это статические адреса компов с работающим firebird? на которых есть алиас abc? 1. по своей наивности предпологал что localhost на эмуляторе будет обращаться к компьютеру разработчика, конечно же на физическом устройстве обращаться к localhost - это несоизмеримая глупость 2. да 10 и 50 статические адреса компов с работающим firebird на которых имеется алиас abc ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2016, 08:41 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
kdv, kdvхоть эта тема мне не очень интересна, я за 5 минут углядел, что jaybird под андроид в 2013 году был сделан в виде отдельного порта https://sourceforge.net/projects/androidjaybird/files/ и это была версия 2.2.4. Видимо, были причины. так что, об этом нужно спрашивать Mark Rotteveel. очень ценное замечание! Буду копать в этом направлении, о результатах сообщу позже так как придется перенастраивать среду разработки на JDK 1.6 у меня сейчас все развернуто на JDK 1.8 Dimitry_SibiryakovНасколько я помню, на ведроиде свой, несколько несовместимый со стандартным байт-код у Явы, поэтому обычные сборки драйвера там работать не могут в принципе. Верно подмечено Mark_RotteveelThere is only support for JDK 1.6. JDK 1.7 isn't fully supported by Android's dalvik поэтому и буду перенастраивать среду разработки на базе JDK 1.6 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2016, 09:11 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Я в своё время решил эту задачу так. На сервере скриптом, написанным на delphi генерируется база sqlite из таблиц FB , а девайс просто загружает эту базу к себе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2016, 18:17 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Т.С., Вы на жабе? там, ЕМНИП, вроде же есть встроенные средства для работы с JSON, как-то даже видел в интернетах пример получения массива из JSON-строки в одну строчку. -------- я столкнулся с Вашей проблемой полтора года назад, но мне требовалось что-то похожее на режим реального времени работы с базой подобно тому, как работает сетевой коннект в приложении для ПК. в итоге после нескольких недель секса решил пойти другим путём: 1) на сервере баз данных параллельно ставиться Апач+ПыхПых. 2) пишутся скрипты на ПыхПых, которые получают данные для запроса, вносят их в базу (если надо) и возвращают новые данные. 3) всё туда-сюда гоняется в виде JSON формата, который парсится и в ПыхПых, и в клиентском приложении. 4) приложение для Ведроида по сути становится HTTP-клиентом к Апачу, а вот Апач посредством ПыхПых уже работает с базой. что ещё можно добавить: 1) посмотрите технологию REST, там по сути то же самое, только стандартизировано. 2) гигантские справочники или журналы можно при передаче паковать хоть тем же ZIP. 3) при такой постановке вопроса подумать: а надо ли локально хранить данные в sqlite и для чего? оговорка: приложение для Ведроида писалось на языке, который здесь никто не знает (с) . ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2016, 18:48 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Vladimir779, dalvik уже умер, с 5-го андроида - ART. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2016, 19:20 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
kdvхоть эта тема мне не очень интересна, я за 5 минут углядел, что jaybird под андроид в 2013 году был сделан в виде отдельного порта https://sourceforge.net/projects/androidjaybird/files/ и это была версия 2.2.4. Видимо, были причины. так что, об этом нужно спрашивать Mark Rotteveel. Причина скорее всего или "кто-то попросил" или "было интересно", с тех пор никому было не нужно MR активно переписывается на StackOverflow и Yahoo MailLists ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2016, 14:57 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Hello, Wadman! You wrote on 26 декабря 2016 г. 15:03:30: Wadman> dalvik уже умер, с 5-го андроида - ART.и шо делать тем, кто до сих пор сидит на 2.3.Х ? зы: гугель == ЗЛО Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2016, 15:04 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Мимопроходящийи шо делать тем, кто до сих пор сидит на 2.3.Х ? Не пользоваться на нем firebird-ом. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2016, 15:13 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Hello, Wadman! You wrote on 26 декабря 2016 г. 15:16:24: Wadman> Не пользоваться на нем firebird-ом.ты на циферки не обратил внимание ;) зы: я и Ораклом на нём тоже не пользуюсь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2016, 15:17 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Мимопроходящийты на циферки не обратил внимание ;) Напуган был. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2016, 16:01 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Кажется разобрался во всем, что касается примера от "Mark Rotteveel" kdvхоть эта тема мне не очень интересна, я за 5 минут углядел, что jaybird под андроид в 2013 году был сделан в виде отдельного порта https://sourceforge.net/projects/androidjaybird/files/ и это была версия 2.2.4. Видимо, были причины. так что, об этом нужно спрашивать Mark Rotteveel. не смог развернуть среду разработки "Android Studio" под "JDK 1.6" - но установил себе на смартфон готовое приложение "NBAndroid Example-debug.apk" и все таки смог подключится к базе на своем компьютере со строкой подключения пришлось перебить свой IP адрес на 192.168.0.102 и подложить базу по адресу "C:\Program Files (x86)\Firebird\Firebird_2_5\examples\empbuild\EMPLOYEE.FDB" Код: java 1. 2. 3.
вот содержимое файла MainActivity.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62.
Отказался от затеи использовать jaybird для Андроида так как дравер "Jaybird2_2_4.jar" требует компиляции под "JDK 1.6" а современный "Android Studio" (say goodbye to Eclipse) требует минимально "JDK 1.7" тем более Wadmandalvik уже умер, с 5-го андроида - ART. буду пользоваться советом PEAKTOPв итоге после нескольких недель секса решил пойти другим путём: 1) на сервере баз данных параллельно ставиться Апач+ПыхПых. 2) пишутся скрипты на ПыхПых, которые получают данные для запроса, вносят их в базу (если надо) и возвращают новые данные. 3) всё туда-сюда гоняется в виде JSON формата, который парсится и в ПыхПых, и в клиентском приложении. 4) приложение для Ведроида по сути становится HTTP-клиентом к Апачу, а вот Апач посредством ПыхПых уже работает с базой. тем более надыбал примеров http://devcolibri.com/1486 http://devcolibri.com/1548 на базе MySQL уже отработал на своей тестовой машине и смартфоне осталось тольк подключить расширение на FireBird - в целях обучения а потом уже применить полученные знания и опыт под свой проект Хотя конечно же имеет смысл отписаться "Mark Rotteveel" так как задача достаточно актуальная и было бы хорошо, если бы эта линия так же поддерживалась своевременно Если будут альтернативные варианты подключения с приложения на мобильной платформе Андроид к базе FireBird, всегда готов обсудить Всем спасибо ! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2016, 20:53 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Vladimir779так как задача достаточно актуальная была бы она актуальная - был бы и кто-нибудь, кто поддерживает.... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2016, 19:44 |
|
Android + FireBird
|
|||
---|---|---|---|
#18+
Всё разобрали тут: http://www.sql.ru/forum/893214-7/android-firebird ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 10:20 |
|
|
start [/forum/topic.php?fid=40&msg=39374853&tid=1561459]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
89ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 190ms |
0 / 0 |