2017-01-16 10 views
0

私はnodeJsとexpress、express-handlebarsとmqttパッケージを使用しています。nodejsとmqttを使用しているウェブサイトのリアルタイムコンテンツ

私は最近、現在および現在の温度の内容を示す表を更新しようとしています。このテーブルはウェブサイトの一部に過ぎず、毎秒この特定のタルブを更新するだけの価値があります。 したがって、私のための正しい答えのように見えないし、設定を設定してリンクをクリックすることにも影響します。

私は既に実際に動作するQuery.load関数を使用しようとしましたが、express-handelbarsと一緒に正しく動作しません。 MQTTを介してサーバーに送信されるコンテンツの代わりに、{{temperatureInside}}と{{temperatureOutside}}がWebサイトに表示されます。

どのようにこの問題を解決するためのアイデアですか?

+0

「更新」しようとしているときに、サーバーが変更のフロントエンドに通知するように、自動的に更新したい、またはレコードを追加したい今それは新しい値を持っているので、それは "更新"されています) – Corbfon

+0

私はそれが自動的に更新されるようにします – JayJay

答えて

2

テーブルが自動的に更新されるようにするには、サーバーにが必要であることを意味します。に新しいデータがあることを伝えます。これは、標準のHTTP要求では不可能です。なぜなら、賢明な人がWebSocket(WSSプロトコル)を構築した理由です。ノードを使用して、私はこのために使用するライブラリはsocket.io

socket.ioは、ノード側の両方のフロントエンドにインポートする必要のあるコード(WSSを通じて話をするどのようにあなたのクライアントに伝えます)とrequire dを有するれる(npm install socket.io --save

そこから、サーバーとクライアントの両方が理解できるカスタムイベントを設定できます。私はあなたがドキュメントを通過することを残すだろうが、socket.ioは確かにあなたのためのトリックを行うだろう。私は多くの同様の状況でそれを使用しました。

+0

どのように保存するsocket.io実際には?私は最近httpsを使用しています... – JayJay

+0

[この回答を参照](http://stackoverflow.com/questions/26791107/websockets-wss-on-http-vs-wss-on-https) – Corbfon

+0

私をたくさん助けました。ありがとう – JayJay

関連する問題