Yew WebRTC Chat
1.0.0
該專案展示了一個使用 WebRTC 的簡單 HTML 聊天,並使用 Rust 進行程式設計並編譯為 WASM。現場演示
在閱讀了 Cheerp 團隊這篇精彩的文章後,我想看看是否可以使用 WASM 對「純」Rust 完成相同的事情。
由於從頭開始製作遊戲作為第一步太複雜,因此我的目標是透過製作聊天應用程式來與 Rust、HTML(使用 Yew)和 WebRTC 一起玩。 3D 和 WebGL 將會再次出現。
事實證明,讓某些東西正常運作並不難,如下所示:
如果您嘗試在本地運行,則更喜歡在本地使用 Chrome 進行測試,因為我遇到了 Firefox 的問題。另外,請注意某些擴充功能可能會阻止 WebRTC 連線。另外,如果您正在與朋友一起測試,它可能無法工作,因為我只使用 STUN 伺服器。從我所做的測試中,我發現公司網路上的連線經常被阻止,使用 TURN 伺服器可以解決這個問題。但與 STUN 伺服器不同的是,沒有免費的 TURN 伺服器。最後,錯誤處理尚未完全完成,因為我不知道如何實際處理錯誤(也不知道 WebRTC API 允許我做什麼)。如果您卡住了,請重新加載兩側的頁面,然後再試一次。
要建立此項目,您需要:
cargo install wasm-pack
cargo install http-server
要在建置後運行它,您需要輸入
wasm-pack build --target web --no-typescript --out-dir ./static/pkg
編譯程式碼http-server -p 8080
在static
目錄中執行 Web 伺服器(或您可以使用任何靜態檔案伺服器,例如python3 -m http.server
)