SRR74
20
2020-11-22 23:43:48
3
116

nodejs에서 자동으로 db에서 최신값을 가져오게 하려면 어떤 방식을 사용해야 하나요?


라즈베리파이에서 센서로 모은 데이터를db에 저장하고 nodejs를 이용해서 만든 웹서버로 그 값을 표시해주는 웹 앱을 작성하고있습니다.

현재 db에 저장된값을 가져와서 화면에 표시하는건 성공했는데 이 값을 화면 새로고침 없이 최신값으로 유지하려면 jquery를 사용해서 값을 받아와야하는건가요? 아니면 jquery를 사용하지 않아도 방법이 있는건지...

뭘 공부해야 하는건지 확실히 알면 그쪽으로 찾아볼텐데 무엇을 찾아봐야 하는지를 잘 모르겠습니다...

0
  • 답변 3

  • yykk123
    99
    2020-11-23 01:25:21

    항시 최신값으로 유지가 필요하시다면..

    보통 두가지 방법이 있습니다

    REST API를 반복적으로 호출하는 polling 방법 (setinterval),

    socket 사용(websocket은 브라우저별 지원유무가 상이할 수 있습니다..)

    둘다 확인하여 사용해보시길 바랍니다.


    node에는 socket.io를 지원하니 해당부분을 통해 구현하시는것도 좋은 방법으로 보입니다.

  • 피자7
    150
    2020-11-23 09:10:30

    socket.io 를 쓰시면

    서버단에서 setinterval로 계속해서 갱신시킬수있고

    그게 아니면 브라우저에서 setinterval로 노드에 요청해서 받아와도 됩니다


    이때 socket.io는 브라우저와 서버의 연결이 지속되는 상태라서

    서버에서 계속 응답을 보내는게 가능한거고

    일반적인 리퀘스트에 대해서는 리퀘스트 한번에 한번 응답만 가능합니다


  • SRR74
    20
    2020-11-23 19:38:11

    현재는 nodejs에서 페이지에 접속하면 html객체를 반환하는 형태인데 이걸 socket형태로 주어야 한다는 말씀이신가요? 어차피 socket서버도 구현을 해야하긴합니다만...

    setinterval이나 jquery의 reload를 사용하는 방식과 socket방식 둘중 무엇을 선택하는게 조금 더 쉽게 구현할 수 있을까요?..

  • 로그인을 하시면 답변 을 등록할 수 있습니다.