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