我想知道如何创建一个P2P应用程序。是否只有一种方法或多种方法。我认为每个用户都需要创建一个服务器和一个连接,或者多个连接到多个对等方。这是否准确,还是我需要做些不同的事情?
以下是我创建的一些代码,最终版本将首先创建服务器,然后请求主机:端口连接到对等方。我想知道是否可以仅使用net.createConnection()或其他更简单的方式创建P2P应用程序?还是每个用户都必须成为自己的服务器?
以下是我创建的一些代码,最终版本将首先创建服务器,然后请求主机:端口连接到对等方。我想知道是否可以仅使用net.createConnection()或其他更简单的方式创建P2P应用程序?还是每个用户都必须成为自己的服务器?
const net = require('net')
const readline = require('readline')
const host = 'localhost'
const port = 3000
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.on('line', (line) => {
if(line == 'server') {
const server = net.createServer((connection) => {
console.log('peer connected')
/**/
connection.on('data', (data) => {
console.log(data.toString())
})
/**/
rl.on('line', (line) => {
connection.write('server: ' + line)
})
rl.prompt()
/**/
}).listen(port)
}
else if(line == 'client') {
const client = net.createConnection(port, host, () => {
console.log('connected to peer')
/**/
client.on('data', (data) => {
console.log(data.toString())
})
/**/
rl.on('line', (line) => {
client.write('client: ' + line)
})
rl.prompt()
/**/
})
}
}).on('close', () => {
process.exit(0);
})