티스토리 뷰
github.com/clucle/boost-asio-udp-holepunching
clucle/boost-asio-udp-holepunching
Contribute to clucle/boost-asio-udp-holepunching development by creating an account on GitHub.
github.com
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
- 우리는 vr핏이라고 부릅니다
- chrome-extension
- Golang
- hole-punching
- it's called a vrpit
- 카카오
- 잘못된 빨간줄
- boost
- set value
- 봄날에 스케치
- SuffixArray
- ad skip
- C++
- 면접
- Quest2
- Visual Studio
- 영상 픽셀화 하기
- 클래스 맴버 변수 출력하기
- Obstacle Avoidance
- vr핏
- vrpit
- RVO
- red underline
- print shared_ptr class member variable
- 에러 위치 찾기
- 코어 남기기
- Reciprocal n-body Collision Avoidance
- mysql
- cockroach db
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함