Websocket과 stompjs를 활용해 채팅 기능을 구현하던 중, client가 null이라는 오류가 발생했다. 채팅을 구현하려면 먼저 연결(connect)을 해야 되고, 구독(subscribe), 보내기(send) 순으로 진행이 되어야 한다. 처음 구현하는 거라서, 구글링으로 채팅 구현을 찾아봤다. 그러나, 찾아본 모든 구글링에서 하나의 함수에 모든 기능을 구현했었다. 나는 채팅을 시작하는 페이지에서 구독과 연결을 하고, 채팅 페이지에서 보내기 기능을 사용해야 해서, 여러 custom hook에 기능을 나눠서 구현하려고 했다. 그러나, 여기서 stompjs를 사용한 client는 recoil에 담아 전역상태로 관리를 하지 못한다는 문제가 발생했다. 하나의 페이지에서 connectHandler를 작동..
websocket
HTTP와 WebSocket은 둘 다 프로토콜이다. ✅ 우선 HTTP가 무엇인지 살펴보자. 모든 서버들이 작동하는 방식을 http라고 한다. 예를 들어 유저가 request를 보내면 서버가 response로 반응한다. http에서 기억해야 할 중요점은 stateless라는 것인데, 그 말은 즉 백엔드가 유저를 기억하지 못한다는 것이다. 유저와 백엔드 사이에 아무런 연결이 없다. request와 response 과정 뒤에 백엔드는 유저를 잊어버린다. response를 주면 끝나고 그다음 request를 기다리는 것이며 그래야 response를 줄 수 있다. 👇 HTTP에 대해 더 알아보고 싶다면? [네트워크] HTTP에 대해서 기본적으로 네트워크 통신을 할 때 처음 접하는 게 http 통신이다. 그러므로 ..