Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/codec-abc/Yew-WebRTC-Chat

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/codec-abc/Yew-WebRTC-Chat

  • v0.0.0-20230817113650-c3c43ea7429a
  • Source
  • Go
  • Socket score

Version published
Created
Source

A Yew WebRTC Chat

About

This project showcase a simple HTML chat using WebRTC and programmed in Rust and compiled to WASM. Live Demo

After reading this wonderful post by the Cheerp team I wanted to see if the same can be done with "pure" Rust using WASM.

Since doing a game from scratch was too complicated as a first step I aimed to just play along with Rust, HTML (using Yew) and WebRTC by doing a chat application. 3D and WebGL will come another time.

It turns out that it is not very difficult to get something working as you can see below:

demo

Notes

If you try to run locally prefer testing with Chrome locally because I encountered issues with Firefox. Also, be wary that some extensions might block WebRTC connections. Also, if you are testing with a friend it might not work as I am using only a STUN server. From the tests I made, I found out that the connections are often blocked on corporate networks and using a TURN server would solve the problem. But unlike STUN server there aren't free TURN servers. Finally, the error handling is not totally done yet as I don't know how I actually handle errors (and also what the WebRTC API allows me to do). If you are stuck reload the page on both side and try again.

Build and Run

To build this project you need to:

  1. Install wasm-pack with cargo install wasm-pack
  2. Install http-server cargo install http-server

To run it once build you need to type

  1. Compile code with wasm-pack build --target web --no-typescript --out-dir ./static/pkg
  2. Run web server in the static dir with http-server -p 8080 (Alternatively you can use any static file server like python3 -m http.server)

Special thanks

FAQs

Package last updated on 17 Aug 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc