Я сейчас разрабатываю мобильное приложение с использованием ионного фреймворка и использует larvel 4 REST API для выполнения операций CRUD с базой данных MySql. Основываясь на требовании к приложению, мобильному приложению необходимо каждый раз обращаться к серверному сервису, чтобы завершить определенный процесс. Я использую Angular Resource для вызова этих API, и я вызываю их каждые 3 секунды, используя функцию Jintercript setinterval. Тем не менее, приложение работает, я действительно не считаю, что это хорошая практика, потому что это тяжелая задача для сервера и клиента. Не могли бы вы, ребята, направить меня, как я должен решить такую ситуацию, и я очень ценю вашу помощь. Особенно, какие инструменты мне нужно настроить и каковы они? Спасибо.Справочная служба реального времени
ответ
setInterval
не является лучшей практикой получения новых данных с вашего сервера API/БД, поскольку сервер может быть затоплен, когда слишком много пользователей обращаются к вашему веб-сайту. Однако есть более красивое решение: WebSockets
. С веб-сайтами вы получаете уведомления в реальном времени. Я не разработчик PHP, поэтому я не знаю, какие библиотеки WebSocket используются для разработки Laravel/PHP. Но на AngularJS части я могу рекомендовать: https://github.com/gdi2290/angular-websocket
WebSocket пример (не связанный): http://jsfiddle.net/EAVvQ/24/
Надеется, что это помогло.
Cheers!
Спасибо Андрею, это действительно полезно для меня и ценит ваш ответ. Помимо среды Laravel/PHP, каковы другие? Вы используете некоторые из них? Я вполне могу изменить окружающую среду, если это не сложно. – Hein
Laravel/PHP env в порядке. WebSockets - это многоплатформенная/технологическая библиотека. Неважно, какой язык вы используете. Попробуйте несколько библиотек PHP WebSockets и посмотрите, какой из них подходит. Под капотом WebSockets - это просто простой сервер, который отправляет уведомления, когда они происходят, и клиент (JS) прослушивает эти уведомления и выполняет некоторые действия на основе ответа. –
- 1. Справочная служба с повторным времени
- 2. WCF: странная справочная служба
- 3. Справочная служба без активности
- 4. Справочная служба confusion
- 5. Continuous Справочная служба Android
- 6. Невозможно добавить справочная служба
- 7. Справочная служба симулятора MARSSx86
- 8. Справочная служба HTML
- 9. Справочная служба с Cordova
- 10. Служба поддержки электронной торговли/справочная служба по положению Решение
- 11. Справочная служба сохраняет память приложения
- 12. Запуск Справочная служба не работает
- 13. Справочная служба Windows Phone 7
- 14. Справочная служба wakelock и нить
- 15. Справочная служба для Android android
- 16. Добавление Справочная служба с SSL
- 17. Справочная служба или широковещательный приемник
- 18. Потребляя справочная служба в Web API
- 19. Служба игры Google в режиме реального времени в одном приложении
- 20. Tizen Samsung Gear S Справочная служба
- 21. Delphi 10 Seattle Справочная служба и темы
- 22. Телефонные уведомления с помощью MQTT (справочная служба?)
- 23. Справочная служба в apache cordova app
- 24. Справочная служба в Android - Нужна помощь
- 25. Справочная служба для фотосъемки с камерой
- 26. Игра в режиме реального времени
- 27. Архитектура сервера данных реального времени
- 28. Строка реального времени IOS
- 29. Основы реального времени ОС
- 30. Трассировщик лучей реального времени
Я думаю, что это могло бы помочь http://stackoverflow.com/questions/29868003/refresh-events-in-angular-calendar-ui-fullcalendar-with-laravel-as-a-backend/29868502#29868502 –
лучше не использовать 'setInterval' в любом случае. Он не учитывает временную задержку для запросов. Лучше позвонить в setTimeout с успехом и обратные вызовы – charlietfl