mirror of
https://github.com/fluencelabs/js-libp2p-websockets
synced 2025-03-16 05:30:54 +00:00
BREAKING CHANGE: Switch to using async/await and async iterators. The transport and connection interfaces have changed. See the README for new usage.
js-libp2p-websockets
JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport interface
Lead Maintainer
Description
libp2p-websockets
is the WebSockets implementation compatible with libp2p.
Usage
Install
npm
> npm i libp2p-websockets
Example
const WS = require('libp2p-websockets')
const multiaddr = require('multiaddr')
const pipe = require('it-pipe')
const { collect } = require('streaming-iterables')
const addr = multiaddr('/ip4/0.0.0.0/tcp/9090/ws')
const ws = new WS({ upgrader })
const listener = ws.createListener((socket) => {
console.log('new connection opened')
pipe(
['hello'],
socket
)
})
await listener.listen(addr)
console.log('listening')
const socket = await ws.dial(addr)
const values = await pipe(
socket,
collect
)
console.log(`Value: ${values.toString()}`)
// Close connection after reading
await listener.close()
API
Transport
Connection
Description
Languages
JavaScript
100%