hanium2019 / hanium_2019

ARconference
https://www.youtube.com/watch?v=QEQoDFsgiMo&feature=youtu.be
MIT License
2 stars 5 forks source link

Server 파트 앞으로의 계획 수립 #5

Open hochan222 opened 5 years ago

hochan222 commented 5 years ago

현재 완료 된 것

  1. 서버 안정화 (자동부팅 및 app 자동실행)
  2. 프런트 (React) 서버에 띄우기 (build 해서 dist//public으로 배포) 및 도메인 생성 *부가적인것 ==> 배포 과정 자동화

앞으로 해야 될 것 크게 (1) Real Time 파트와 (2) 웹 파트로 나눌 수 있습니다.

  1. Real Time c#과 Node 사이에 통신을 고려합니다. Socket 과 Streaming 을 고려해 보아야 합니다.

(1) Socket

(2) Streaming

  1. Web (1) Ajax (CRUD) 구현 ( Asyn, await // Promise) (2) DB ORM 익히기
    • 편의성 ↑ 를 위해 NoSQL (MongoDB)
    • 문서화 ↑ 를 위해 SQL (3) 저장된 파일(PDF 등) UI로 이쁘게 띄우기 (React Hooks 공부) (4) Log in, Session 등 구현 (5) Drag Drop (React Library)을 사용해서 Oculus와 연동 (희망 사항)
jun108059 commented 5 years ago
Web 할 일 세부 사항
(1) CRUD ajax 구현 asyn, await // promise
(2) DB ORM으로 저장 1. 편의성 ↑ - Mongo DB, NoSQL2. 문서화 ↓ - SQL
(3) 파일 띄우기 저장된 pdf 등 파일을 예쁘게 UI로 띄우기
(4) React Drag Drop 사용 Oculus와 연동 (희망사항)
hochan222 commented 5 years ago
  1. RTMP와 HLS & (RTP, RTCP, RTSP) - https://ooz.co.kr/106 자세한 설명 - https://12bme.tistory.com/345

  2. RTMP (Real Time Messaging Protocol) 이용 가이드 - https://www.ncloud24.com/data/bbsData/1326071371&&CDN_Streming_RTMP_UserManua.pdf 알 수 있는 점: RTMP를 사용하기 위해서는 동영상 플레이어가 필요 KT 문서

  3. RTMP 와 RTSP - https://idchowto.com/?p=3039 알 수 있는 점: RTMP/RTSP 스트리밍은 기본적으로 아래 그림과 같이 서로 다른 비트레이트 (Bitrate) 로 인코딩 된 동영상 파일을 3~4개 서버에 저장하여 제공함으로서 클라이언트는 재생 중간에 원하는 화질로 교체할 수 있게 됩니다. 이 방식은 전체 파일을 서버에서 보내는 것이 아니라 클라이언트가 시청하려는 부분의 몇 프레임만을 전송합니다. 즉, 시청자는 가장 보려고 하는 장면을 찾아 클릭하면, 기다리는 시간 없이 바로 그 부분의 프레임부터 재생하게 되고, 지나간 프레임은 자동으로 삭제되어, 순간 시점의 프레임만을 보게 됩니다. 클라이언트 측에 저장되는 파일이 없으므로 보안 문제도 자연스럽게 해결됩니다.

어쩌면 서버에 한번 저장을 해야되는 우리 입장에서는 스트리밍이 필요하지 않을 수 도 있겠다.

3-1. 사용방식: https://rockdrumy.tistory.com/1418

4.RTMP - https://juyoung-1008.tistory.com/30 알 수 있는 점: 현존하는 모든 플렛폼 (트위치, 아프리카 티비, 다음팟, 유튜브등)이 모두 RTMP를 사용한다.

  1. RTMP, adobe 공식문서 - https://www.adobe.com/devnet/rtmp.html RFC 2326 - IETF - https://www.ietf.org/rfc/rfc2326.txt 알 수 있는 점: 표준

  2. 그외 streaming 라이브러리들 - https://libraries.io/search?keywords=rtsp ==> 스트리밍 의의 : 메모리에 로드하지 않는다. 우리는 서버에 저장 필요.. socket이 더 나을까?

hochan222 commented 5 years ago

사진을 주기떄문에 꼮 필요하다. KakaoTalk_20190807_003343117

hochan222 commented 5 years ago
  1. 첫번째 목표 c++ 과 node js 간에 socket 만들기
jun108059 commented 5 years ago

Visual Studio Code에서 C++을 빌드하는 건 어렵다

hochan222 commented 5 years ago

Visual Studio Code에서 C++을 빌드하는 건 어렵다

c# 도전해보겠습니다아아아ㅏㅏㅏㅏ

hochan222 commented 5 years ago

socket.io Express에 삽입하기 https://freeprog.tistory.com/180

jun108059 commented 5 years ago

node.js Socket 예제 (C++ tcp 예제)

https://blog.naver.com/dimigozzang/220340027750

hochan222 commented 5 years ago

영준이형이 찾은 대단하신분

https://www.bogotobogo.com/cplusplus/sockets_server_client.php

jun108059 commented 5 years ago

image

아는 것이 힘이다

hochan222 commented 5 years ago

오늘 최종 정리

  1. socket 통신은 socket.io로만 하고 VR에서 객체나 파일로 c#으로 data를 넘긴다.
  2. c++과 c# 사이에 무언가 효율적인 통신 방안
hochan222 commented 5 years ago
  1. 완료 KakaoTalk_20190807_210141955 KakaoTalk_20190807_210143872 KakaoTalk_20190807_210145782
hochan222 commented 5 years ago

https://meetup.toast.com/posts/112 github - https://github.com/nhn/socket.io-client-unity3d

https://github.com/nhn/socket.io-client-unity3d/issues/1 socket version recommand 'npm install socket.io@1.7.4'