libquicknet
간단하고 작고 안정적인 게임용 UDP 네트워킹 라이브러리
❗ libquicknet은 개발 중이며 프로덕션 코드에 적합하지 않습니다 ❗
이 라이브러리의 주요 대상은 플러그 앤 플레이, 빠른 네트워킹 하위 시스템이 필요한 게임 프로토타입 또는 잼 게임입니다.
일어나서 달리기가 매우 쉽습니다!
특징:
- 3단계 핸드셰이크를 사용하는 연결 지향 UDP 프로토콜
- 클라이언트<->서버 및 P2P 지원
- 낮은 대역폭 사용량
- 순차/비순차 신뢰할 수 있는/신뢰할 수 없는 지원
- 안정적인 메시지를 위한 빠른 중복 승인 시스템
- 서버 검색(LAN에만 해당)
- 메시지 손상을 방지하기 위한 전체 체크섬 시스템
- 전송 시 선택적 메시지 병합
- 선택 가능한 전송 속도가 고정되었습니다.
- 중복된 메시지 감지
- 가짜 대기 시간 및 패킷 손실 지원
- 핑 및 왕복 시간 추정
- 크로스 플랫폼(Windows/Linux)
향후 기능:
- 시간 동기화
- 결정론적 시스템을 위한 RNG 동기화
- 비트패킹 및 압축
- 핸드셰이크 시 키 교환을 통한 대칭 암호화
- NAT 통과 및 펀치스루
- 엔디안 인식
- 승인 시스템 개선
설치
프로젝트의 모든 소스 파일을 삭제하고 컴파일하세요!
용법
- Quicknet_peer.h 포함
- Quicknet::Peer의 자손을 생성합니다.
- OnConnection, OnDisconnection 및 OnGameMessage 메서드를 재정의합니다.
- Quicknet_messagetypes.h의 지침에 따라 사용자 지정 게임 메시지를 정의하세요.
- Quicknet_messagelookup.h에 메시지 ID를 포함하세요.
- 준비가 된!
간단한 예를 보려면 test.cpp를 확인하세요.
배경
이 라이브러리는 일주일 만에 작성되었으며, 완벽하게 작동하더라도 더 좋게 만들기 위해서는 여전히 많은 작업이 필요합니다!
여전히 주의가 필요한 하드코딩된 내용이 많이 있지만 이를 쉽게 사용자 정의할 수 있는 라이브러리로 바꾸도록 노력하겠습니다.