Sono.land
Real-time Communication Library for Deno (WebSockets & WebRTC)
Install / Use
/learn @oslabs-beta/Sono.landREADME
<p align="center">
<img src="./media/sono-logo.png" alt="sono.land" width="100" height="100">
</p>
<h1 align="center">
sono.land
</h1>
<p align="center">
A real-time communication module for Deno
<br />
<a href="https://sono.land/"><strong>Explore the docs</strong></a>
<br />
<a href="https://chris-paul-ejercito.medium.com/sono-io-real-time-communication-for-deno-d325a5a29b6f">Medium Article</a>
·
<a href="https://deno.land/x/sono@v1.1">Deno Module</a>
·
<a href="https://github.com/oslabs-beta/sono.land/issues">Request Feature</a>
</p>
Features
- 🤝 WebRTC for P2P connections
- 📸 Video and 🎤 Audio implementation
- 👨👩👧👦Exhibit Many to Many WebRTC connectivity utilizing the Mesh system
- 🔌 WebSocket for clients to server connections
- 💬 Chatroom demonstration to display WebSocket connections
- 📺 Multiple channels for different discussions
- 📣 Broadcast messages to everyone in the channel
- 📫 Direct message to a single client
- 📝 Grab a list of all clients in a specified channel
- 🔥 and much more
Demo
<div align="center">
Documentation
Find the full documentation of sono.land
Usage & Examples
server.ts:
import { Sono } from 'https://deno.land/x/sono@v1.1/mod.ts';
const sono = new Sono();
Deno.serve(async (req: Request) => {
return sono.connect(req);
});
client.js:
import { SonoClient } from 'https://deno.land/x/sono@v1.1/src/sonoClient.js';
const sono = new SonoClient('ws://localhost:8000/ws');
sono.on('hello', (event) => {
console.log(event, 'world')
})
Installation
Import directly from deno.land / github.
deps.ts:
import { Sono } from 'https://deno.land/x/sono@v1.1/mod.ts';
<br />
