2016-09-05 18:31:34 -04:00
2016-09-05 18:31:34 -04:00
2016-05-09 11:14:40 +02:00
2016-05-09 11:14:40 +02:00
2016-05-09 11:14:40 +02:00
2016-05-09 11:14:40 +02:00
2015-09-15 14:42:08 +01:00

js-libp2p-tcp

Build Status Dependency Status js-standard-style

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.

Note: This module uses pull-streams for all stream based interfaces.

Example

const TCP = require('libp2p-tcp')
const multiaddr = require('multiaddr')
const pull = require('pull-stream')

const mh1 = multiaddr('/ip4/127.0.0.1/tcp/9090')
const mh2 = multiaddr('/ip6/::/tcp/9092')

const tcp = new TCP()

const listener = tcp.createListener(mh1, (socket) => {
  console.log('new connection opened')
  pull(
    pull.values(['hello']),
    socket
  )
})

listener.listen(() => {
  console.log('listening')

  pull(
    tcp.dial(mh1),
    pull.log,
    pull.onEnd(() => {
      tcp.close()
    })
  )
})

outputs

listening
new connection opened
hello

Installation

npm

> npm i libp2p-tcp

API

libp2p-tcp accepts TCP addresses both IPFS and non IPFS encapsulated addresses, i.e:

/ip4/127.0.0.1/tcp/4001 /ip4/127.0.0.1/tcp/4001/ipfs/QmHash

Both for dialing and listening.

License

MIT

Description
No description provided
Readme 1.6 MiB
Languages
JavaScript 100%