Я прочитал, что XMLHttpRequests лучше всего подходит для контента, частота обновления которого составляет 30 секунд и более. В той же статье упоминалось, что веб-приложения, которые нуждаются в более быстрой частоте, должны использовать сокет. Я не могу найти статью/книгу, в которой упоминается это (если кто-нибудь может размещать ссылки на статьи, которые обсуждают это, я был бы признателен). Ваш опыт работы с XMLHttpRequest и сокетами поддерживает вышеупомянутое утверждение или нет? Какие другие типы соединений между браузером и сервером следует учитывать?XMLHttpRequest vs Socket vs some other approach
ответ
Javascript не имеет возможности выполнять настоящую связь сокетов. Если вы заблокированы только для Javascript (без помощника SWF, ActiveX или какой-либо другой технологии), то ваш лучший выбор - XMLHttpRequest.
XMLHttpRequest не подходит для более частого обновления (теоретически, по крайней мере) из-за накладных расходов, связанных с разбором и формированием запроса и анализом результатов. Теоретически соединение Socket даст вам канал обратно на сервер, не пройдя все запросы.
Недостаток использования сокетов (помимо того, что Javascript не поддерживает их напрямую) заключается в том, что если вы используете специальный формат сериализации для данных, возвращающихся через соединение Socket, только код, который вы пишете, может использовать результаты (если вы не публикуете свой формат Serialization). Это не может быть проблемой для вас, но для кого-то это остановит всю работу ...
Вот небольшой демо-сокетов в Javascript с SWF Helper:
Существует еще ответ чем частота обновления. Также важно количество одновременных пользователей, так как использование Comet (это ключевое слово, которое приведет вас к большему количеству статей) использует соединения с сервером и может также не масштабироваться. Современные веб-серверы лучше обрабатывают больше подключений, но вам нужно проверить это в своей собственной среде.
Для меня даже 30 секунд слишком часто используется AJAX. Мой лимит, вероятно, примерно на одну минуту.
Настоящая статья теперь должна считаться датой. У современных браузеров нет проблем с обработкой запросов до 1 секунды. Посмотрите, как быстро Google может угадать ваш поиск. Простой вызов XMLHttpRequest. Без вспышки. Нет ActiveX.
- 1. Drupal vs Some Other CMS
- 2. JustMock vs. TypeMock vs. Other
- 3. cp /some/directory/./ vs/some/directory/
- 4. Kinvey vs StorageRoom vs Parse other BaaS
- 5. rmi vs servlets vs socket
- 6. POSIX socket VS Web Socket VS Windows TCP/IP Socket
- 7. Gcm vs other push service
- 8. Html 5 vs other technologies
- 9. XMLHttpRequest Vs HttpRequest
- 10. XMLHTTPRequest responseBody vs responseText
- 11. XmlHttpRequest vs jQuery
- 12. Asynchronous vs synchronoous socket
- 13. ActionScript Socket vs WebSocket
- 14. socket connect() vs bind()
- 15. Socket vs Wcf communication
- 16. Socket heartbeat vs keepalive
- 17. bind vs SO_BINDTODEVICE socket
- 18. mapPartitions Vs foreach plus accumulator approach
- 19. Производительность REST-фреймворков (Java vs PHP vs other)
- 20. App Engine - RequestFactory vs servlets vs other aproaches
- 21. Ajax: Определение против реализации? (XML vs JSON vs Other)
- 22. persistence - классы сущностей vs Hibernate framework vs other
- 23. Arg view == some other TextView
- 24. C# socket vs C++ Socket, что лучше?
- 25. Socket in node.js vs socket в Dart
- 26. form submit vs separate XMLHttpRequest
- 27. Порт vs socket для redis
- 28. TCPClient vs Socket in C#
- 29. GAE Channel Api vs Socket
- 30. GCM vs. Socket in android