티스토리 뷰

Edu_hanghae99/TIL

[TIL] 230109

soobin Choi 2023. 1. 10. 03:10

줌 클론 코딩 강의를 다 보고 채팅 구현 시작...

잠온다...

일단 시작은 했는데 모르겠다^ㅇ^

 

  const connect = () => {
    client.current = new StompJs.Client({
      webSocketFactory: () =>
        new SockJs(`${process.env.REACT_APP_API_URL}/ws-stomp`), // proxy를 통한 접속
      connectHeaders: {
        // Authorization: new Cookies().get('access_token'),
        // 'Refresh-Token': new Cookies().get('refresh_token'),
      },
      debug(str) {
        console.log(str);
      },
      onConnect: () => {
        subscribe();
        if (nickname) {
          client.current.publish({
            destination: '/pub/chat/messages',
            body: JSON.stringify({
              type: 'ENTER',
              roomId: param.roomId,
              sender: nickname,
              message: `${nickname}님이 게임에 참가하셨습니다.`,
            }),
          });
        }
      },
      onStompError: (frame) => {
        console.log(frame);
      },
    });
    client.current.activate();
  };

여기서

      connectHeaders: {
        // Authorization: new Cookies().get('access_token'),
        // 'Refresh-Token': new Cookies().get('refresh_token'),
      },

이 부분은 어떻게 해야할까

*구글링해보니 client 객체를 만드는 부분인 듯

 

websocketfactory

https://learn.microsoft.com/ko-kr/dotnet/api/microsoft.aspnetcore.http.connections.client.httpconnectionoptions.websocketfactory?view=aspnetcore-7.0 

 

HttpConnectionOptions.WebSocketFactory 속성 (Microsoft.AspNetCore.Http.Connections.Client)

WebSocket 전송에 사용할 대리자를 래핑하거나 바꿀 WebSocket 대리자를 가져오거나 설정합니다.

learn.microsoft.com

참고 블로그

https://sg-choi.tistory.com/414

 

[React] WebSocket

설명 아래에서 만든 WebSocket 서버에 연결하여 통신하는 React WebSocket 예제 https://sg-choi.tistory.com/294 모듈 추가 yarn add @stomp/stompjs sockjs-client 프록시 설정 const { createProxyMiddleware } = require("http-proxy-middl

sg-choi.tistory.com

https://github.com/stomp-js/stompjs/issues/322

 

connectHeaders does not add key to the GET request WebSocket handshake · Issue #322 · stomp-js/stompjs

What I've tried: I tried to use connectHeaders e.g let stompClient = new StompJs.Client({ connectHeaders: { mykey: "mykeyvalue" }, }); The expected result: When I use Google Chrome...

github.com

https://developer.mozilla.org/ko/docs/Web/API/Window/sessionStorage

 

Window.sessionStorage - Web API | MDN

sessionStorage 읽기 전용 속성은 현재 출처 세션의 Storage 객체에 접근합니다. sessionStorage는 localStorage와 비슷하지만, localStorage의 데이터는 만료되지 않고, sessionStorage의 데이터는 페이지 세션이 끝날

developer.mozilla.org

 

https://github-wiki-see.page/m/OhMinsSup/tip-review/wiki/ActiveMQ-StompJs-%EC%97%B0%EA%B2%B0%EB%B0%8F-%EC%82%AC%EC%9A%A9-%EC%98%88%EC%8B%9C-(6) 

 

ActiveMQ StompJs 연결및 사용 예시 (6) - OhMinsSup/tip-review GitHub Wiki

 

github-wiki-see.page

https://yoon-dumbo.tistory.com/22

 

WebSoket (stompJS+React) 채팅

이번에는 채팅은 어떻게 구현되는지, 어떤 기술이 사용되는지 함께 알아보도록 하겠습니다. 🖐🏻 잠깐! 스프링+리액트 조합의 채팅을 구현하는 포스팅 중 일부입니다. (stomp, soket.js) 저는 프론

yoon-dumbo.tistory.com

http://todayleave.blogspot.com/2016/01/stompjs.html

 

stomp.js 사용하기

STOMP가 뭐죠? stomp는 간단한 텍스트 기반 메시지 프로토콜이다. WebSocket API 란 무엇이지? 웹소켓은 웹을 위한 TCP이다. 구글이 크롬 브라우저에서의 웹소켓의 사용가능에 대해 발표할 때, 웹소켓의

todayleave.blogspot.com

 

'Edu_hanghae99 > TIL' 카테고리의 다른 글

[TIL] 230111  (0) 2023.01.11
[TIL] 230110  (1) 2023.01.11
[TIL] 방 검색 230106  (0) 2023.01.07
[TIL] 230105  (0) 2023.01.06
[TIL] 230103  (0) 2023.01.03