This package allows you to create applications and games where you can have communication between browsers with minimal lag.
It uses WebRTC and adds an abstraction on top of it which makes it easier to work with.
It can be used for games where one browser is the game screen while a mobile phone browser is the controller.
- Getting started
- API
- Events
Usage of the signaling
module is split into three parts:
-
Initiator
-
Receiver
-
Broker
import signaling from 'signaling'
signaling.runReceiver(options)
TODO: Add description here
Arguments
options
(object):
Option | Type | Required | Default | Description |
---|---|---|---|---|
wsAddress | String | ✓ | - | TODO |
receiverId | String | ✓ | - | TODO |
onInitiatorJoin | Function | ✓ | - | Function that is run whenever an initiator joins |
onInitiatorLeave | Function | ✓ | - | Function that is run whenever an initiator leaves |
onInitiatorJoin arguments
The onInitiatorJoin function is always called with an object with these properties:
Property | Type | Description |
---|---|---|
id | String | |
setOnData | ||
send | ||
close |
Returns
Nothing
signaling.runInitiator(options)
TODO: Add description
Arguments
options
(object):
Option | Type | Required | Default | Description |
---|---|---|---|---|
wsAddress | String | ✓ | - | The address of the broker |
receiverId | String | ✓ | - | The id of the receiver to join |
Returns
(Promise): The promise is resolved with an object with these keys:
Property | Description |
---|---|
setOnData | TODO |
setOnClose | TODO |
send | TODO |
import { Event } from 'signaling'
Event | Description |
---|---|
ANSWER | TODO |
INITIATOR_CANDIDATE | TODO |
RECEIVER_CANDIDATE | TODO |
RECEIVER_UPGRADE | TODO |
OFFER | TODO |
NOT_FOUND | TODO |
Example
Event.ANSWER