WebRTC data channels

WebRTC(Web Real-Time Communications)API最被广泛接受的用途是支持实时的音视频通信,但这个API也支持P2P(peer-to-peer)点对点数据频道。本文就是用于解释WebRTC的这一功能,并向你展示如何利用相应的框架来控制游戏数据。


A WebRTC data channel lets you send text or binary data over an active connection to a peer. In the context of a game, this lets players send data to each other, whether text chat or game status information. Data channels come in two flavors.

Reliable channels guarantee that messages you send arrive at the other peer and in the same order in which they're sent. This is analogous to a TCP socket.

Unreliable channels make no such guarantees; messages aren't guaranteed to arrive in any particular order and, in fact, aren't guaranteed to arrive at all. This is analogous to a UDP socket.

We have documentation for using WebRTC. This article, however, will take advantage of some libraries that can help trivialize the work, and will demonstrate ways to use abstraction to work around implementation differences between browsers. Hopefully, of course, those differences will fade away in time.

Using the p2p library

One library you can use is the p2p library. This library provides a simple API for creating peer connections and setting up streams and data channels. There's also a broker server component and a hosted broker you can use instead of having to set one up for yourself.

Note: We will continue to add content here soon; there are some organizational issues to sort out.

Original Document Information