Baike.dev
All toolsTrendingOpen sourceNewsSubmit
Log in
< 返回工具列表
P

peerjs

> 编程语言
开源

Simple peer-to-peer with WebRTC.

13.4K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Simple peer-to-peer with WebRTC.

# PeerJS: Simple peer-to-peer with WebRTC PeerJS provides a complete, configurable, and easy-to-use peer-to-peer API built on top of WebRTC, supporting both data channels and media streams. ## Live Example Here's an example application that uses both media and data connections: https://glitch.com/~peerjs-video. The example also uses its own [PeerServer](https://github.com/peers/peerjs-server). ---

Special Announcement:

We now have a Discord Channel
There we plan to discuss roadmaps, feature requests, and more
Join us today

--- ## Setup **Include the library** with npm: `npm install peerjs` with yarn: `yarn add peerjs` ```js // The usage - import { Peer } from "peerjs"; ``` **Create a Peer** ```javascript const peer = new Peer("pick-an-id"); // You can pick your own id or omit the id if you want to get a random one from the server. ``` ## Data connections **Connect** ```javascript const conn = peer.connect("another-peers-id"); conn.on("open", () => { conn.send("hi!"); }); ``` **Receive** ```javascript peer.on("connection", (conn) => { conn.on("data", (data) => { // Will print 'hi!' console.log(data); }); conn.on("open", () => { conn.send("hello!"); }); }); ``` ## Media calls **Call** ```javascript navigator.mediaDevices.getUserMedia( { video: true, audio: true }, (stream) => { const call = peer.call("another-peers-id", stream); call.on("stream", (remoteStream) => { // Show stream in some element. }); }, (err) => { console.error("Failed to get local stream", err); }, ); ``` **Answer** ```javascript peer.on("call", (call) => { navigator.mediaDevices.getUserMedia( { video: true, audio: true }, (stream) => { call.answer(stream); // Answer the call with an A/V stream. call.on("stream", (remoteStream) => { // Show stream in some element. }); }, (err) => { console.error("Failed to get local stream", err); }, ); }); ``` ## Running tests ```bash npm test ``` ## Browser support | [](http://godban.github.io/browsers-support-badges/)
Firefox | [](http://godban.github.io/browsers-support-badges/)
Chrome | [](http://godban.github.io/browsers-support-badges/)
Edge | [](http://godban.github.io/browsers-support-badges/)
Safari | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 80+ | 83+ | 83+ | 15+ | We test PeerJS against these versions of Chrome, Edge, Firefox, and Safari with [BrowserStack](https://www.browserstack.com) to ensure compatibility. It may work in other and older browsers, but we don't officially support them. Changes to browser support will be a breaking change going forward. > [!NOTE] > Firefox 102+ is required for CBOR / MessagePack support. ## FAQ Q. I have a message `Critical dependency: the request of a dependency is an expression` in browser's console A. The message occurs when you use PeerJS with Webpack. It is not critical! It relates to Parcel https://github.com/parcel-bundler/parcel/issues/2883 We'll resolve it when updated to Parcel V2. ## Links ### [Documentation / API Reference](https://peerjs.com/docs/) ### [PeerServer](https://github.com/peers/peerjs-server) ### [Discuss PeerJS on our Telegram Channel](https://t.me/joinchat/ENhPuhTvhm8WlIxTjQf7Og) ### [Changelog](https://github.com/peers/peerjs/blob/master/CHANGELOG.md) ## Contributors This project exists thanks to all the people who contribute. ## Backers Thank you to all our backers! [[Become a backer](https://opencollective.com/peer#backer)] <

核心特点

  • •TypeScript
  • •browser
  • •dataconnection
  • •javascript
  • •p2p

> 标签

TypeScriptbrowserdataconnectionjavascriptp2p

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月9日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言
Baike.dev

baike.dev helps you discover great languages, frameworks, databases, DevOps and cloud-native tools.

Quick links

  • Home
  • All tools
  • Trending
  • Open source

About

  • About us
  • Community
  • News

Contribute

Found a great developer tool? Share it with the community.

Submit a tool
© 2026 baike.dev Developer EncyclopediaUpdated daily · Discover great developer tools