2017-02-10 1 views
0

Мне нужно постоянно поддерживать соединение с сервером. Дело в том, что у меня не будет Wi-Fi рядом с моим IoT, поэтому он должен будет подключить модуль 3G. Какой протокол более эффективен с точки зрения потребления данных? REST или Sockets?Что более эффективно с точки зрения потребления данных, сокетов или REST?

+0

Розетки будут поддерживать ваше соединение всегда открытым и потреблять подключение к данным, быстрее, чем REST. В REST вы потребляете данные только по требованию. –

+0

См. [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

ответ

0

Я не знаю, что вы подразумеваете под «сокетами» - WebSocket? TCP-сокеты? Но если вам нужно постоянно поддерживать соединение с сервером, REST не сможет этого сделать. Вы остаетесь с сокетами WebSocket, TCP, или вы можете подделать постоянное соединение с помощью трюков, таких как соединения AJAX с длинным опросом и т. Д. В любом случае, TCP-сокеты будут потреблять наименее затратные данные, WebSocket не будет намного хуже, и все HTTP-методы будут самыми тяжелыми, особенно те, которые требуют повторного подключения, как длинный опрос.

Если вам необходима система Node.js, которая позволяет создавать интерфейсы с WebSocket или TCP транспорта, то вы посмотрите на ActionHero.js может:

ActionHero является многосерверный Node.JS API-сервер со встроенными возможностями кластера и отложенными задачами.

+0

Я использую node.js с socket.io и express. –

+0

@AlexDelgado Если вы хотите, чтобы каркас более высокого уровня работал с websocket и tcp, вы можете попробовать ActionHero - см. Мой обновленный ответ. – rsp

Смежные вопросы