p2p 网络
点对点网络(peer-to-peer, 简称 P2P),又称对等式网络,是无中心服务器、依靠用户群(peers)交换信息的互联网体系,它的作用在于,减低以往网路传输中的节点,
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('数据发送成功')
}