티스토리 뷰
github.com/clucle/boost-asio-udp-holepunching
www.youtube.com/watch?v=AvhqZXCkYcI
- 채팅 구현을 목적으로 해서 유저 지우기나, ipV6 같은 기능은 구현하지 않았습니다.
1. stun 서버에 udp 소켓을 열어 공용 ip, port를 얻는다.
2. 공용 ip, port 를 서버에 보낸다.
& 서버에서 해당 ip, port 로 테스트 패킷을 보내 잘 동작하면 p2p 가능한 유저로 설정한다.
& 접속한 유저에게는 이미 접속한 유저의 ip, port를 전달
& 이미 접속해 있던 유저는 새로 들어온 유저의 ip,port를 전달
3. ip, port를 공유하여 서로 채팅이 가능하도록 한다.
>> P2P는 NAT 설정마다 가능 여부가 갈리는데, 만약 불가능하다면 Relay 서버를 통해 통신해야한다.
>> 아래는 iptime 에서 P2P 사용시 해당 설정을 해줘야 통신이 가능했던 사진이다.
'개발 > 일상' 카테고리의 다른 글
vscode 잘못된 빨간 줄 제거하기 ( false red underline ) (1) | 2021.02.23 |
---|---|
visual studio 주석 지우기 (//) (2) | 2021.02.21 |
get cockroach labs T shirt (0) | 2021.01.11 |
2020년 간단 회고록 (0) | 2021.01.01 |
golang big integer (0) | 2020.12.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- shared_from_this
- 면접
- print shared_ptr class member variable
- ad skip
- set value
- 영상 픽셀화 하기
- red underline
- cockroach db
- SuffixArray
- mysql
- Obstacle Avoidance
- RVO
- 잘못된 빨간줄
- 우리는 vr핏이라고 부릅니다
- chrome-extension
- Visual Studio
- Reciprocal n-body Collision Avoidance
- 에러 위치 찾기
- it's called a vrpit
- 카카오
- vr핏
- Quest2
- Golang
- 클래스 맴버 변수 출력하기
- 봄날에 스케치
- vrpit
- hole-punching
- boost
- 코어 남기기
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함