Мне нужно постоянно поддерживать соединение с сервером. Дело в том, что у меня не будет Wi-Fi рядом с моим IoT, поэтому он должен будет подключить модуль 3G. Какой протокол более эффективен с точки зрения потребления данных? REST или Sockets?Что более эффективно с точки зрения потребления данных, сокетов или REST?
ответ
Я не знаю, что вы подразумеваете под «сокетами» - WebSocket? TCP-сокеты? Но если вам нужно постоянно поддерживать соединение с сервером, REST не сможет этого сделать. Вы остаетесь с сокетами WebSocket, TCP, или вы можете подделать постоянное соединение с помощью трюков, таких как соединения AJAX с длинным опросом и т. Д. В любом случае, TCP-сокеты будут потреблять наименее затратные данные, WebSocket не будет намного хуже, и все HTTP-методы будут самыми тяжелыми, особенно те, которые требуют повторного подключения, как длинный опрос.
Если вам необходима система Node.js, которая позволяет создавать интерфейсы с WebSocket или TCP транспорта, то вы посмотрите на ActionHero.js может:
ActionHero является многосерверный Node.JS API-сервер со встроенными возможностями кластера и отложенными задачами.
Я использую node.js с socket.io и express. –
@AlexDelgado Если вы хотите, чтобы каркас более высокого уровня работал с websocket и tcp, вы можете попробовать ActionHero - см. Мой обновленный ответ. – rsp
- 1. С точки зрения перспективы, что более выгодно?
- 2. Что более эффективно с точки зрения сравнения в JavaScript, «включает()» или «==»?
- 3. Содержит или для петли, что более эффективно?
- 4. Что более эффективно? (веб-дизайн)
- 5. Что более практично с точки зрения получения значения магических констант?
- 6. Что более эффективно, добавив односимвольную строку или символ?
- 7. boolean [] vs. BitSet: что более эффективно?
- 8. Запросы LINQ или SQL. Что более эффективно?
- 9. Разделенные серверы или виртуализация, что более эффективно?
- 10. Что более быстрое с точки зрения общей скорости выполнения
- 11. Что более безопасно - передача данных с использованием программирования сокетов ИЛИ SSH/SCP/FTP
- 12. JCS или java.util.Map, который эффективен с точки зрения времени?
- 13. Что более эффективно: двоичный или логический &&
- 14. Что более эффективно, atan2 или sqrt?
- 15. Как получить данные из нескольких сокетов с точки зрения многопоточности?
- 16. Умножение или если: что более эффективно?
- 17. Что более эффективно: конкатенация строк или замена?
- 18. Что более эффективно, побитово или проверка равенства?
- 19. Что более эффективно i ++ или ++ i?
- 20. Что более эффективно: myType.GetType() или typeof (MyType)?
- 21. Словарь vs Object - что более эффективно и почему?
- 22. Android - Что более эффективно?
- 23. Программирование сокетов или служба REST
- 24. Система Akka с точки зрения QA
- 25. Что такое ASP.net с точки зрения FP?
- 26. Что более эффективно/элегантно?
- 27. Что такое функции/закрытие/Lambdas, с точки зрения структуры данных?
- 28. Что такое интеллектуальный анализ данных с точки зрения разработчика?
- 29. Что такое «машина» с точки зрения компиляции?
- 30. «Мобильный первый» или последний с точки зрения точки останова?
Розетки будут поддерживать ваше соединение всегда открытым и потреблять подключение к данным, быстрее, чем REST. В REST вы потребляете данные только по требованию. –
См. [Websocket vs. REST] (http://stackoverflow.com/questions/28613399/websocket-vs-rest-api-for-real-time-data/28618369#28618369) и [Ajax vs. Socket.io] (http://stackoverflow.com/questions/30319618/ajax-vs-socket-io/30334848#30334848) для некоторой связанной информации. – jfriend00