기본 콘텐츠로 건너뛰기

Meteor DDP 완전분석 - All about DDP

한번은 정리해야지 하는 생각으로 Websocket 모니터를 열고 DDP를 하나하나 각개 격파해보려고 한다.
클라이언트에서 요청별로 서버 응답 내용을 정리해보았다.


  • 로그인 없을 때
  1. 접속

    14:07:20.485   {'msg':'connect','version':'1','support':['1','pre2','pre1']}
    14:07:20.486 a {'server_id':'0'}
    14:07:20.634 a {'msg':'connected','session':'wqr3vuoJSYXvHLKyR'}

    정해진 JSON을 단순하게 전송하고 { msg: connected } 를 받는다. 단순!
  2. meteor_autoupdate_clientVersions 요청
    14:07:20.486   {'msg':'sub','id':'nhyS7NmraDAk8Y5Nc','name':'meteor_autoupdate_clientVersions','params':[]}
    14:07:20.636 a {'msg':'added','collection':'meteor_autoupdate_clientVersions','id':'HgGFXuNFEw4TeHb7S','fields':{'current':true}}
    14:07:20.639 a {'msg':'added','collection':'meteor_autoupdate_clientVersions','id':'version','fields':{'version':'3953cc195bf2ea8538cc04c228043b0222c64faa'}}
    14:07:20.639 a {'msg':'added','collection':'meteor_autoupdate_clientVersions','id':'version-cordova','fields':{'version':'none','refreshable':false}}
    14:07:20.640 a {'msg':'added','collection':'meteor_autoupdate_clientVersions','id':'version-refreshable','fields':{'version':'4d68205e4c57f75e9a5ca7e7fd446277ef11e2e4','assets':{'allCss':[{'url':'/merged-stylesheets.css?hash=20ae2c8d51b2507244e598844414ecdec2615ce3'}]}}}
    14:07:20.641 a {'msg':'ready','subs':['nhyS7NmraDAk8Y5Nc']}
    최초의 subscribe이다. meteor_autoupdate_clientVersion 이라는 미리 정의한 collection에 버전 정도 등등을 내려준다.
    subscribe시 요청한 ID 를 {'msg': 'ready' } 시 subs 와 맞춰보는 것으로 한 쌍을 이룬다.
  3. 로그인
  4. 로그인 서비스 설정

댓글

이 블로그의 인기 게시물

세상 간단한 https(+secured websocket): Caddy

nginx, apache2 같은 걸로 매번 certbot 연동을 통해 https 하는게 지겨워서 알아보니 Caddy라는게 있더라. 설치법은 강하게 크기 위해 알아서 해본다. # cat /etc/caddy/Caddyfile your.shitty.site:8123 {   proxy / localhost:9123 {     websocket     transparent   } } 이건 외부에서 8123으로 들어오는 걸 내부적으로 9123로 맞춰서 https 맞춰주는 reverse proxy. 만일 port를 생략하면 # cat /etc/caddy/Caddyfile your.shitty.site {   proxy / localhost:9123 {     websocket     transparent   } } 기본포트인 443으로 되어 https://your.shitty.site 로 접속이 된다. 요새 말썽이던 cloudflare 버리고 netlify domain이랑 caddy를 쓰니까 앓던 이가 빠진 느낌. 이 조합은 당분간 계속 써야겠다 싶다.

저지연 오디오 생성 LLVC 사용기

https://github.com/KoeAI/LLVC 써봄 CUDA 11.8 버전 쓰고 있어 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 VC 없어서 설치 https://wikidocs.net/168848 참조 FAIRSEQ 관련 오류 https://github.com/facebookresearch/fairseq/issues/2908 pip install editdistance  설치 No CUDA runtime is found, using CUDA_HOME='C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8' 오류 멀쩡하게 있는데 안됨. pip install torch==2.1.0+cu118 torchvision==0.16.0+cu118 torchaudio==2.1.0+cu118 --extra-index-url https://download.pytorch.org/whl/cu118 다시 설치 set DISTUTILS_USE_SDK=1 이게 문젠가 설정하고 재도전 Using cached ruamel.yaml.clib-0.2.8-cp311-cp311-win_amd64.whl (118 kB) Building wheels for collected packages: fairseq   Building wheel for fairseq (pyproject.toml) ... error   error: subprocess-exited-with-error   × Building wheel for fairseq (pyproject.toml) did not run successfully.   │ exit code: 1   ╰─> [1829 lines of output]       No CUDA runtime is found, usi...