Skip to content

refactor: Change current websocket-based Go WASM webclient to WebRTC datachannel based Rust WASM webclient #82

@metaphorics

Description

@metaphorics

서버의 KCP Turbo Mode를 브라우저에서 완벽하게 재현

브라우저에는 UDP 소켓이 없지만, WebRTC DataChannel을 Unreliable 모드로 설정하면 UDP 터널처럼 쓸 수 있습니다. 이 위에 Rust로 포팅한 KCP 엔진을 올리는 방식입니다.

기술 스택:

Core: Rust (kcp-rs, noise-protocol 활용)
Transport: WebRTC DataChannel (ordered: false, maxRetransmits: 0)

장점:
Real UDP: 패킷 유실 시 재전송 대기(HOL Blocking)가 전혀 없습니다.
Symmetry: 서버의 KCP 로직과 완벽하게 대칭되는 구조입니다.

단점: WebRTC 연결(Signaling) 과정 구현이 다소 복잡합니다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions