p2p-message

A simple and efficient peer-to-peer messaging library for direct browser-to-browser communication.

Installation

Install via NPM:

npm install p2p-message

Or include directly in your HTML:

<script src="https://unpkg.com/p2p-message@1.0.3/dist/messaging.min.js"></script>

Usage


// Initialize with configuration
const config = {
  key: 'unique-network-key',  // All peers using this key will connect
  trackers: [                 // Tracker servers for peer discovery
    'wss://tracker.openwebtorrent.com'
  ],
  onMessage: (peerId, message) => {
    console.log(`Message from ${peerId}: ${message}`);
  },
  onConnect: (peerId) => {
    console.log(`New peer connected: ${peerId}`);
  }
};

// Create instance and connect
const p2p = new P2PMessage(config);
p2p.connect();

// Send message to a specific peer
p2p.send('peer-id-123', 'Hello, peer!');

// Broadcast implementation
const peers = new Set();

// Track connected peers
config.onConnect = (peerId) => {
  peers.add(peerId);
  console.log(`New peer connected: ${peerId}`);
};

// Broadcast to all peers
function broadcast(message) {
  peers.forEach(peerId => {
    p2p.send(peerId, message);
  });
}

// Clean up when done
p2p.disconnect();
  

Example

See a live example of p2p-message in action: Live Demo

API Reference

Constructor Options

Available Methods