Rust WebRTC P2P #4 - Install Rust + RustRover + Cargo Commands
Bài 47:36

Rust WebRTC P2P #4 - Install Rust + RustRover + Cargo Commands

Thực hành cài đặt Rust Toolchain qua rustup.rs trên Windows/Linux/macOS và xác thực bằng rustc, cargo, rustup. Khám phá RustRover — IDE chuyên biệt giúp code Rust nhanh hơn VS Code. Làm quen 4 lệnh Cargo thiết yếu: cargo new, cargo build, cargo build --release và cargo run.

1. Cài đặt Rust Toolchain

Cài đặt Rust thông qua rustup — công cụ quản lý phiên bản chính thức: • Truy cập rustup.rs và chạy lệnh cài đặt cho hệ điều hành của bạn • Windows: Tải rustup-init.exe, cần cài Visual Studio Build Tools trước • macOS/Linux: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh Xác thực cài đặt thành công: • rustc --version → Kiểm tra compiler • cargo --version → Kiểm tra package manager • rustup --version → Kiểm tra toolchain manager

2. RustRover — IDE chuyên biệt cho Rust

RustRover là IDE của JetBrains được thiết kế riêng cho Rust: • Code completion thông minh, hiểu sâu type system của Rust • Inline error highlighting — phát hiện lỗi trước khi compile • Debugger tích hợp với breakpoint, watch variables • Refactoring tools: rename, extract function, inline variable • Tích hợp Cargo commands trực tiếp từ IDE So với VS Code + rust-analyzer: RustRover mượt hơn với project lớn, ít cần cấu hình thủ công.

3. 4 lệnh Cargo thiết yếu

Cargo là build system và package manager của Rust: 1. cargo new project_name → Tạo project Rust mới với cấu trúc chuẩn (src/main.rs, Cargo.toml) 2. cargo build → Compile project ở chế độ debug (nhanh compile, chậm runtime) 3. cargo build --release → Compile với tối ưu hóa cho production (chậm compile, nhanh runtime) 4. cargo run → Build và chạy project trong một lệnh duy nhất

4. Cấu trúc project Rust

Sau khi chạy cargo new, bạn sẽ có: project_name/ ├── Cargo.toml → File cấu hình project (tên, version, dependencies) ├── Cargo.lock → Lock file cho dependencies (tự sinh) └── src/ └── main.rs → Entry point của ứng dụng • Cargo.toml tương tự package.json (Node.js) hoặc go.mod (Go) • src/ chứa toàn bộ source code • target/ (tự sinh sau build) chứa compiled output

5. Các lệnh Cargo bổ sung

• cargo check → Kiểm tra lỗi compile mà không tạo binary (nhanh hơn cargo build) • cargo test → Chạy unit test và integration test • cargo doc --open → Sinh documentation và mở trên browser • cargo add → Thêm dependency vào Cargo.toml • cargo update → Cập nhật dependencies lên phiên bản mới nhất

Khóa học thực chiến giúp bạn xây dựng từ đầu một Signaling Server bằng Rust, xử lý các cuộc gọi audio/video trực tiếp giữa hai trình duyệt thông qua WebRTC Peer-to-Peer mà không cần Media Server. Bạn sẽ nắm vững kiến trúc WebRTC signaling, cách trao đổi SDP Offer/Answer và ICE Candidates giữa các peer thông qua WebSocket. Khóa học sử dụng Axum + Tokio cho backend, MongoDB để lưu trữ dữ liệu, và JWT để xác thực người dùng. Đây là Phần 1 trong series 7 phần về Lập trình Rust với VoIP, bao gồm: WebRTC P2P, Media Server (Janus, LiveKit, Kurento, Asterisk, FreePBX), và hệ thống CRM/Queue/nhạc chờ/chuyển tiếp cuộc gọi. Yêu cầu tiên quyết: Kiến thức cơ bản về Rust (Ownership, Lifetimes, Traits, Async/Await).

Công nghệ sử dụng

RustWebRTCVoIPP2PAxumTokioWebSocketMongoDBJWT

Tác giả

ByteBuffer

ByteBuffer

Coder cỏ tại DTS Group và IPA Solutions

Chuyên gia về Rust và hệ thống VoIP/WebRTC. Nhiều năm kinh nghiệm xây dựng các hệ thống real-time communication với hiệu năng cao và độ trễ thấp.