작성
·
1.5K
1
답변 1
0
새로고침을 하는 순간 세션이 닫히기 때문에 소켓 연결은 끊깁니다.
막을 방법은 클라이언트 단에서 새로고침 시에 경고(alert)창을 띄어주거나 방지하는 방법이 있습니다.
구글에 "브라우저 새로고침 방지 javascript 코드"를 검색하시면 f5 버튼 막기 등 다양한 경로의 새로고침을 클라이언트 단에서 막을 수 있는 코드가 있습니다. 참고하시면 좋을 것 같습니다. :)
이 코드를 <script>code</script>로 삽입해 주시면 됩니다.
redis 관련 프로젝트는 socket.io-redis-adapter 패키지 추천드립니다.
https://github.com/socketio/socket.io-redis-adapter
관련해서 데모를 찾아 보았는데요. https://github.com/phatvo21/nest-chat-realtime
목적에 맞는 코드와 유사할 것 같습니다!
음 그렇다면 redis-cache도 가능하긴 하지만 아무래도 더 저수준 인터페이스라 바로 간단하게 사용하실거면 nestjs-redis를 사용하는 것이 좋을 것 같습니다. 제가 nestjs-redis를 깊게 사용해보진 않아서 pub/sub 인터페이스가 좋은지는 잘 모르겠네요 ㅠㅠ 처음부터 자유롭게 수동으로 개발하실 생각이시라면 redis-cache도 괜찮은 것 같습니다!
우선 이렇게 예시 코드까지 갖고와주셔서.. 정말 감사합니다.
그런데 제가 생각한건 그냥 mysql이나 mongodb를 nestjs에 연결하듯
평범한 redis db를 추가로 연결한다음에 연결된 redis와 websocket으로 뭔가를 해보려했던 것인데 socket.io-redis-adapter는 뭔가 더 고차원적인거같던데.. 이게 어떤 기능들을 하는건지 알 수 있을가요?
제가 다시 구글링을 해보니까 nestjs-redis가 있고 https://www.npmjs.com/package/nestjs-redis
redis-cache가 있던데 둘중에 어떤걸 써야되는지를 모르겠네요;