Bob32
-
Постов
109 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Сообщения, опубликованные Bob32
-
-
Стоял левый часовой пояс в настройках телефона. Поставил московский -время изменилось но, снова не в том часовом поясе.
Сейчас показывает 7:27, а должно 13:27
-
10 часов назад, Евгений Корепов сказал:
Протокол SNTP
Помимо NTP, существует упрощенная версия этого протокола - SNTP (Simple Network Time Protocol). Он реализован для синхронизации времени конечным клиентом, поскольку все преимущества протокола NTP проявляются именно в сети серверов, а для получения показаний конечным пользователем NTP излишне сложен. Поэтому для синхронизации времени конечными компьютерами и серверами был предложен протокол SNTP (SNTPv3: 1992 г., RFC1361 и 1995 г., RFC1769; SNTPv4 включён как подпротокол в NTPv4).
На самом деле SNTP - это не новый протокол, а способ использования NTP-пакетов и NTP-серверов в приложениях, где не требуется высокоточное время, либо оно недостижимо. В этом случае клиент использует только часть информации UDP-пакета NTP-сервера. SNTP-клиент может работать с любыми версиями NTP-серверов, и кроме них - с особыми SNTP-серверами, которые в откликах заполняют только необходимые данные UDP-пакета.
Таким образом, "облегченный" SNTP образует не сеть синхронизирующихся серверов, а пары "клиент-сервер". Любой NTP-сервер является одновременно SNTP-сервером. Клиент, который не передаёт полученное время дальше, может работать как NTP- или SNTP-клиент, в зависимости от условий. Для SNTP, как и для NTP, зарезервирован 123-й UDP-порт.
Uses IdSNTP, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient; .... procedure TForm1.Button2Click(Sender: TObject); Var IdSNTP: TIdSNTP; begin IdSNTP:=TIdSNTP.Create(Self); IdSNTP.Host := 'ntp1.stratum2.ru'; ShowMessage(DateTimeToStr(IdSNTP.DateTime)); IdSNTP.Free; end;
Спасибо огромное персонально!
Все работает!
Но время отдается в каком-то американском часовом поясе (отличается от московского на 10 часов).
хелп на класс TIdSNTP у меня почему-то отсутствует. (
можно конечно по колхозному к московскому времени привести, но может есть более правильный метод (или свойство) этого класса?
-
Ребят, спасибо Вам огромное!!!
-
4 часа назад, krapotkin сказал:
если даже не использовать NTP
При каждом HTTP запросе в ответе приходят заголовки. Например
Connection: keep-alive
Strict-Transport-Security: max-age=0
Content-Encoding:
Content-Type: text/html; charset=utf-8
Date: Fri, 05 Apr 2019 07:02:28 GMT
Server: nginx
Те - брать и читать какой-нить урл и брать время из заголовков?
А NTP время как отдают? Может есть у кого-то пример кода?
-
Добрый день!
подскажите пожалуйста, а есть компоненты, либо другой проверенный способ, чтобы получать точное время от каких-либо централизованных служб в Инете?
мне нужно синхронизировать по времени события на разных телефонах.
-
В 22.03.2019 в 10:19, #WAMACO сказал:
Пользуюсь и платной и бесплатной версией.
Описание очень подробное http://www.tmssoftware.biz/Download/Manuals/tmsfmxcloudpackdevguide.pdf
Все основные варианты взаимодействия описаны подробно.
Извините, за этот поток вопросов )
а какая там реально используется СУБД? и какой используется механизм блокировок в части одновременной записи в поля БД?
(два пользователя пытаются одновременно записать что-то в одно и тоже поле, одной и той же записи)
-
В 22.03.2019 в 10:19, #WAMACO сказал:
Пользуюсь и платной и бесплатной версией.
Описание очень подробное http://www.tmssoftware.biz/Download/Manuals/tmsfmxcloudpackdevguide.pdf
Все основные варианты взаимодействия описаны подробно.
кстати, а есть ли там возможность использовать как-то системное время на сервере?
мне нужно будет синхронизировать по времени события на разных устройствах. Например - определенные пользователи должны начать определенную активность в определенное время (им должна стать доступна опред форма приложения).
возможно, есть другие сервисы для реализации этого......
-
23 часа назад, #WAMACO сказал:
Пользуюсь и платной и бесплатной версией.
Описание очень подробное http://www.tmssoftware.biz/Download/Manuals/tmsfmxcloudpackdevguide.pdf
Все основные варианты взаимодействия описаны подробно.
Спасибо, изучил. Действительно подробно.
я правильно понимаю, что эти компоненты на низком уровне используют такой же трафик обмена по типу Json или rest? А он шифрованный? А что на практике означает, что триальная версия работает только с release версией? Отладка работать не будет?
-
3 часа назад, #WAMACO сказал:
совершенно верно!
+ получаете дополнительно порт ко всем популярным облачным сервисам (уверяю, пригодится)
я клиенту за вечер наваял прототип, он офигел, вечером того же дня проинвестировал меня!
А Вы пользуетесь платной или используете бесплатную версию?
(Там вроде это можно, но только для релизных версий)
Хочется чуть подробнее понять - как будет выглядеть обмен с базой через эти компоненты. Может можно с Вами созвонится и чуть подробнее поспрошать? )
-
2 часа назад, Евгений Корепов сказал:
Соблазн велик! Но не поддавайтесь ереси! Ну или поддавайтесь
Сделав все самостоятельно, вы не только сэкономите деньги, но и получите бесценный опыт. И получите площадку для сотен приложений. Тот же myclouddata очень ограничен - бесплатный аккаунт 1000 записей в таблице это ниочем. Да и платный с миллионом записей тоже не поражает воображение. Одно из моих приложений за пару лет накидало в таблицу с регистрациями FCM 600 тысяч записей. Так что вы (или заказчик приложения) может упереться в ограничение в самый неподходящий момент и придется судорожно искать другой сервис.
Что меня ещё в этой библиотеке подкупило - это наличие компонент работы с Facebook, и другими соц сетями - мне как раз надо было иметь возможность, при желании пользователя, паблишить определенную инфу в его аккаунт в соц. Сетях.
Плюс там есть компонент для работы с бесплатной open street map (Гугл мапс сейчас - это только 28 000 бесплатных запросов в месяц)
-
5 часов назад, #WAMACO сказал:
и к ним компоненты для комфортной работы
Библиотека компонентов = недетская! и цена вполне вменяемая.
Минуточку, а что это фактически означает - допустим я покупаю хостинг на myclouddata, покупаю компоненты в этом пакете (включая ту, которая нужна для доступа на myclouddata) - и что, мне не надо париться со всяким огородом по получению доступа через rest/json ?
что ты получаешь вместе с этой компонентой?
-
1 минуту назад, Barbanel сказал:
SqLite - это тоже почти стандарт для маленьких БД на мобильных устройствах (ну или в принципе маленьких локальных БД). Однопользовательская. Очень упрощенная.
Цены на UniDAC можно найти здесь. Я не агитирую за них, просто в нашем случае было необходимо шифрование. Купили, и с тех пор используем везде, удобно.
про SQLite - те это не централизованная СУБД, которой может пользоваться много инстансов приложения (а она стоит где-то на централизованном сервере) - это субд, которая вертится для одного приложения на одном телефоне. верно?
-
2 часа назад, Евгений Корепов сказал:
1. Хостинг рекомендую https://masterhost.ru/service/hosting/individual/ , это один из старейших и надежнейших хостеров России, там вы получите сразу все вам необходимое - MySQL, PHP любимой версии, если проект попрет, то сможете добавлять процессоры, память и т.д. Так же сможете зарегить домен под это дело, и при надобности получить SSL сертификат на этот домен. Все остальные хостинги игнорируйте, по крайней мере Российские. За почти 20 лет использования, мастерхост ни разу не подвел, а только радовал новыми плюшками.
Реализация в вашем случае примерно такая:
1. MySQL на хостере - обеспечит вам работу и 10 миллионов активных пользователей. Но важно правильно спланировать структуру базы, структуру таблиц и структуру индексов таблиц. Если вы в этом не профи, то лучше нанять профи - ибо это фундамент, который потом очень сложно будет изменить.
2. PHP на хостере - прокладка между базой и запросами/ответами приложения. Рекомендую использовать самую свежую версию PHP, чтоб потом не пришлось перекраивать код удаляя deprecated функции и конструкции.
3. Протокол обмена - REST. Не вздумайте погружаться в теорию, читать про RESTful и пытаться реализовывать, этим занимаются только люди под тяжелыми наркотиками и обычно без единого законченного реального проекта. Достаточно того что приложение будет отправлять на сервер GET запросы получать JSON ответы. Можете подогнать протокол под существующие в Delphi компоненты TRESTClient, а можете и сами на стороне приложения разгребать JSON и получать нужные данные. Это совсем не сложно.
4. Приложение - посылает на сервер HTTP GET (ну или POST) запросы посредством THTTPClient, получает ответы в виде JSON, парсит их и так далее. Все содержимое предыдущего предложения - в отдельном потоке. Ну или используйте готовый TRESTClient - если готовы разбираться в нюансах его работы.
Вот как то так.
Спасибо огромное! очень дельный и полезный для меня ответ! обязательно соберу информацию про хостинг и компоненту , и если позволите, еще попозже задам пару глупых вопросов! )
-
6 часов назад, Barbanel сказал:
При всем уважении, позвольте не согласиться.
Именно для стартапа в условиях 100500 ограничений лучше написать одно приложение сразу для всех платформ (может быть поначалу страшненькое и кривенькое), но одно. Быстро и просто.
Это называется MVP - minimal value product. Как только он начнет работать - можно набирать юзеров и идти к инвесторам.
Потом уже можно либо причесывать это одно приложение, либо переписывать его для каждой платформы нативно.
Все имхо.Да, тоже подписываюсь под каждым словом! )
Вы вероятно опечатались и имели в виду MySQL. "Прямой доступ не используем" - это не моветон, это безопасность прежде всего, а сегодня еще и GDPR, с которым к сожалению нужно мириться и поддерживать.
Точно - опечатался /((( Сорри!!!! MySQL
6 часов назад, Barbanel сказал:.
Невопрос, держи помидор)))) Мы используем UniDAC и БД SQLite. UniDAC позволяет шифровать на лету эту БД и работает превосходно на всех используемых платформах (Win, iOS, Android, Mac OS). Компонент платный. За другие не могу сказать, не использовал.
БД SQLite - это какая-то локальная субд? (исполняемая на телефоне) и почем этот платный UniDAC? Где Вы его берете? )
СПАСИБО!
-
7 часов назад, haword сказал:
бесплатный совет - для СТАРТАПА с количеством пользователей хотя бы от 1000 человек, лучше использовать нативные средства разработки, Xcode и Android Studio, если хотите что-то серьезное написать. если просто поиграться на взлетит не взлетит а если что потом перепишем на натив, то да, можно и на делфи.
бесплатных хостингов БД нет.
логика в этом есть, но я знаю только Дельфи, и то - , точнее не знаю, а знал, лет 10 назад
Поэтому, приходится решать задачу в тех инструментах, которыми владеешь.
-
Добрый день, Друзья!
У меня есть вопросы, которые являются типовыми для многих задач доступа к СУБД из мобильных приложений. Каждый опытный девелопер как-то их решал, по своему, в своих задачах...
Я бы хотел обобщить их опыт и получить несколько ценных рекомендаций от бывалых людей по следующим вопросам:
Имеем Delphi 10.3. Пишем несложное приложение, которому требуется общая БД. В ней будет хранится база для аутентификации пользователей и некие служебные таблички со всякой всячиной.
Задача - правильно организовать доступ к этой базе из мобильного приложения. Приложение будет иметь версии под Android и IOS. Количество пользователей приложения - до 50 тыс человек (если повезет).
Как я вижу этот процесс (по итогам анализа этого форума и статей в Инете):
Делаем базу на MуSQL, которая хостится на каком-то коммерческом хостинге. Прямой доступ к базе не используем, тк это моветон... поднимаем на серверной части что-то типа json-а, через который общаемся с базой посредством SSH (шифрация трафика не обязательна, но крайне предпочтительна)
Теперь Вопросы, на которые хочется получить ответы бывалых:
1) Где хостить эту базульку? (чтобы на этом хостинге был сам сервис СУБД и какая-то их типовая примочка сверху, которая может стать серверной частью для json) - интересуют рекомендации по выбору сервисов хостинга
2) Если есть другие проверенные и полюбившиеся сервисы хостинга чисто СУБД-шныы (без этой примочки сверху) - буду также признателен за их рекомендацию.
3) MSSQL - нормальный выбор для данной задачи? у меня есть опыт работы с MS SQL. MySQL выбран из-за некоторой похожести и бесплатной лицензии.
4) (чувствую, щас в меня полетят помидоры ;-|) ) Какие компоненты нужно использовать для доступа по данной схеме к данным на стороне Дельфи? (я начинающий программер под firemonkey - извините....)
5) Нормальная ли вообще это схема или Вы можете порекомендовать что-то другое, более простое и типовое, в плане реализации этой схемы организации доступа к единым централизованным данным приложения?
Спасибо!
Буду крайне признателен за любую информацию по данным вопросам.
-
Друзья, помогите пожалуйста! )
-
Добрый день, Друзья!
подскажите пожалуйста, можно ли сделать так, чтобы добавляемые маркеры отображались не на всех уровнях масштабирования карты, а только на определенных (начиная с определённого уровня приближения и ближе) . При этом, они не отображались на самом верхнем уровне (на уровне мира, например).
Также прошу уважаемых Донов подсказать, за что отвечают свойства Appearance и Origin в описателе маркеров (тип TMapMarkerDescriptor) - в хелпе это не описано, или описано плохо.
Подозреваю, что эти свойства могут помочь с моей задачей.
Спасибо!
-
В 26.03.2018 в 13:58, zekelive сказал:
Проблема решилась добавление ApiKey. В первый раз добавил не тот ApiKey. Спасибо всем за помощь.
Добрый вечер!
у меня такая же проблема - создал API key, но программа вылетает.... есть ощущение, что создал какой-то не тот (как у вас поначалу). хелп, который описывает что надо создавать, - читал. так и пытаюсь делать, но только по умолчанию у меня не спрашивается ни application key, ни package name - это можно потом ввести в restrictions (может интерфейс изменился у этой консоли с момента написания этого хелпа)……
подскажите, где нужно создавать этот правильный ключ?
-
Ребята, есть проблемы.
1) наши углы - не верные. особенно третий угол- он вообще непонятно что представляет.
понимаю, что все что мы делаем - это вызываем стандартные методы (и они вызываются и работают) - но факт остается фактом.
2) проблема, которую описал я после первой компиляции программы- это не проблема ориентации экрана телефона! это другая проблема. моя проблема это то - что при одной и той же портретной ориентации телефона азимут на север изменится на 180% при подьеме телефона на 90 градусов (из горизонтальной плоскости в вертикальную - с той же ориентацией телефона).
Для того, чтобы это было понятней - привожу две программы - первая это апк файл из первой статьи этого автора с хабра (где используется устаревший метод) - файл androidsensors.zip
вторая программа - это наш проект в "доповоротоном" виде (в первоначальном виде) - файл sensman.zip
третья программа - это наша программа с фиксом по ориантации экрана - sensman_fix.zip
-
3 минуты назад, mazayhin сказал:
По идее да. Разбирайтесь
Все что было связано с изначальным вопросом я дал, работайте как в АС
спасибо! извините за глупые вопросы )
-
вот только такой момент - когда я телефон наклонял из горизонтальной плоскости в вертикальную - разве я менял его ориентацию - портрет или ландскейп? я же его не так крутил (крутил не в плоскости телефона)
-
СПАСИБО!!!
-
4 минуты назад, mazayhin сказал:
Немного не то имел ввиду.
GetScreenOrientation не даст никаких углов, он укажет, грубо говоря, куда направлен верх телефона (где камера). Portrait = 0градусов, вверх.
remapCoordinateSystem нужен как раз для того, что бы пересчитать матрицу в соответствии с изменившимся положением устройства на осях (верно ведь?).
Если оси не изменились, смысла в лишней работе телефона нет, ровно как и в создании OutMatrix (его надо обязательно создать и задать размер).
Как поступить - решать вам. Или считать дополнительно каждый раз, или только по необходимости.
я все так и понял )
еще вопрос - хелп пишет, что состояния InvertedPortrait и InvertedLandscape - under IOS.
типа что под андроидом будет только Portrait и Landscape
вы пробовали под андроидом с ними работать - они будут "срабатывать"?
(это у нас 180 и 270)
Получение времени от серверов времени
в Поиск компонентов
Опубликовано
Версия, такая же, как у Вас.
попробую вот это как стемнеет )