2.3.p2p网络介绍

689 阅读1分钟

p2p 网络

点对点网络(peer-to-peer, 简称 P2P),又称对等式网络,是无中心服务器、依靠用户群(peers)交换信息的互联网体系,它的作用在于,减低以往网路传输中的节点,

image.png

p2p 网络的特点

第 1,P2P 网络的一个重要的目标就是让所有的客户端都能提供资源,包括带宽,存储空间和计算能力。因此,当有节点加入且对系统请求增多,整个系统的容量也增大。

第 2,P2P 网络的分布特性通过在多节点上复制数据,也增加了防故障的健壮性,并且在纯 P2P 网络中,节点不需要依靠一个中心索引服务器来发现数据。

p2p 网络原理代码实现

核心代码如下:

const dgram = require('dgram')
const udp = dgram.createSocket('udp4')

// udp 接收信息
udp.on('message', function (data, remote) {
  console.log('received message' + data.toString())
  console.log(remote)
})

udp.on('listening', function () {
  const address = udp.address()
  console.log('udp server listening on ' + address.address + ':' + address.port)
})

// 监听端口
udp.bind(3080)

// udp 发送信息
function send(message, port, host) {
  console.log('send ' + message + ' ' + host + ' ' + port)
  udp.send(Buffer.from(message), port, host)
}

const host = process.argv[2]
const port = Number(process.argv[3])
if (port && host) {
  send('你好呀', port, host)
  console.log('数据发送成功')
}