shtrih-m / fr_drv_ng

релизы и поддержка драйвера fr_drv_ng
36 stars 5 forks source link

Метод Get_Date на разных платформах возвращает разное #262

Open m0x3 opened 1 year ago

m0x3 commented 1 year ago

Добрый день! В реализации json-rpc i386 msvc через консольную утилиту метод Get_Date отдает время в секундах. При использовании библиотеки на андроид метод отдает строку с человекопонятным представлением даты. билд последний 1.6.0-13-g52802c2

swex commented 1 year ago

пример бы о чем речь

m0x3 commented 1 year ago

Android Java {"jsonrpc":"2.0","method":"Get_Date","id":"1"} {"jsonrpc":"2.0","id":"1","result":"Thu Jan 01 03:00:00 GMT+03:00 1970"}

i386 msvc console test, linux_x86_64_1.6.0-13-g52802c2 console test {"jsonrpc":"2.0","method":"Get_Date","id":"1"} {"jsonrpc":"2.0","result":0,"id":"1"}

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

swex commented 1 year ago

понял, вы запустили исполняемый файл console_test внутри android. найдем причину, поправим.

m0x3 commented 1 year ago

Нет, консольную утилиту внутри андроида не запускали, дописали свой websocket json rpc просто для андроида. Могу скинуть апк куда-нибудь

swex commented 1 year ago

но это же ответы сервера и они не должны зависеть от клиента... покажите лог с сервера при обращении.

m0x3 commented 1 year ago

Завтра смогу скинуть из логката логи целиком Thursday, 15 June 2023, 05:15PM +03:00 from Alexey Mednyy @.*** :

но это же ответы сервера и они не должны зависеть от клиента... покажите лог с сервера при обращении. — Reply to this email directly, view it on GitHub , or unsubscribe . You are receiving this because you authored the thread. Message ID: @ github . com>

m0x3 commented 1 year ago

Формат возвращаемых данных в методах в Java определены так classic_fr_drv_ngJNI public static final native Date classic_interface_Get_Date(long var0, classic_interface var2);

classic_interface public Date Get_Date() {

делаем так System.out.println( ci.Get_Date().toString() )

логкат сообщает V/fr_drv_ng: [2023-06-16 14:04:26.767] [8866] [ci_0xb40000732d16a840 ] [T] Get_Date() V/fr_drv_ng: [2023-06-16 14:04:26.768] [8866] [ci_0xb40000732d16a840 ] [T] Get_Date() -> 0 D/LogsArea: Thu Jan 01 03:00:00 GMT+03:00 1970

swex commented 1 year ago

это разные вещи, если вы пользуетесь java оберткой - то получаете экземпляр класса Date, если json-rpc - целое.

m0x3 commented 1 year ago

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

swex commented 1 year ago

логика такая: в java есть нативный тип данных для даты, в остальных ЯП/окружениях нет.