Package Exports
- libp2p-tcp
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (libp2p-tcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
js-libp2p-tcp
Node.js implementation of the TCP module that libp2p uses, which implements the interface-connection interface for dial/listen.
Description
libp2p-tcp
in Node.js is a very thin shim that adds support for dialing to a
multiaddr
. This small shim will enable libp2p to use other different
transports.
Example
const Tcp = require('libp2p-tcp')
const multiaddr = require('multiaddr')
const mh1 = multiaddr('/ip4/127.0.0.1/tcp/9090')
const mh2 = multiaddr('/ip6/::/tcp/9092')
const tcp = new Tcp()
tcp.createListener([mh1, mh2], function handler (socket) {
console.log('connection')
socket.end('bye')
}, function ready () {
console.log('ready')
const client = tcp.dial(mh1)
client.pipe(process.stdout)
client.on('end', () => {
tcp.close()
})
})
outputs
ready
connection
bye
Installation
npm
> npm i libp2p-tcp
API
const Tcp = require('libp2p-tcp')
var tcp = new Tcp()
Creates a new TCP object. This does nothing on its own, but provides access to
dial
and createListener
.
tcp.createListener(multiaddrs, handler, ready)
Creates TCP servers that listen on the addresses described in the array
multiaddrs
. Each connection will call handler
with a connection stream.
ready
is called once all servers are listening.
tcp.dial(multiaddr, options={})
Connects to the multiaddress multiaddr
using TCP, returning the socket stream.
If options.ready
is set to a function, it is called when a connection is
established.
tcp.close(callback)
Closes all the listening TCP servers, calling callback
once all of them have
been shut down.
License
MIT