node实现通信

实现通信则必须有客户端和服务器

创建一个服务器:

var net = require("net")

var server = new net.createServer()

var i =0;

var obj = new Object()

server.on("connection",(client)=>{
	client.name = ++i;
	obj[client.name] = client;
	client.on('data',(data)=>{
		console.log("客户端:"+data.toString())
		huifu(data,client)
	})

})

function huifu(message,client){
//	client.write("收到了")

    for (var i in obj) {
    	obj[i].write(client.name+":"+message)
    }
}

server.listen(3000)

 

创建一个客户端,这里的客户端叫socket:

var net = require("net")

var client = new net.Socket()

var readline = require("readline")

var port = 3000

var hostname = 'localhost'

client.connect(port,hostname,()=>{
	
	client.write("我上线了")
	
})

client.on("data",(data)=>{
	console.log("服务器发来:"+data.toString())
	say()
})


var r1 = new readline.createInterface({
	input:process.stdin,
	output:process.stdout
})

function say(){
	r1.question("",(str)=>{
		client.write(str)
	})
}

 

要使用 TCP 连接实现 P2P (点对点) 通信,你可以使用 Node.js 内置的 `net` 模块。 以下是一些实现步骤: 1. 首先,你需要创建一个 TCP 服务器,让其他节点可以连接到它。你可以使用 `net.createServer()` 方法来创建一个服务器,该方法接受一个回调函数作为参数,该回调函数将在每次有新连接时被调用。 ``` const net = require('net'); const server = net.createServer((socket) => { console.log('New client connected'); }); ``` 2. 接下来,你需要让服务器开始监听传入的连接。你可以使用 `server.listen()` 方法来做到这一点,该方法接受一个端口号和一个可选的回调函数作为参数。 ``` server.listen(3000, () => { console.log('Server started on port 3000'); }); ``` 3. 现在,你需要创建一个 TCP 客户端,它将连接到服务器。你可以使用 `net.connect()` 方法来创建一个客户端连接,该方法接受一个端口号和一个 IP 地址作为参数。 ``` const client = net.connect({ port: 3000, host: 'localhost' }, () => { console.log('Connected to server'); }); ``` 4. 当客户端连接到服务器时,服务器的回调函数将被调用,并且你可以在其中执行任何你想要的操作,例如将客户端添加到一个数组中以便稍后向它发送消息。 ``` const clients = []; const server = net.createServer((socket) => { console.log('New client connected'); clients.push(socket); // Handle incoming data from the client socket.on('data', (data) => { console.log(`Received data from client: ${data}`); }); }); ``` 5. 最后,你可以使用 `socket.write()` 方法将消息发送到连接到服务器的某个客户端。该方法接受一个字符串或一个缓冲区作为参数。 ``` clients[0].write('Hello, client!'); ``` 以上是使用 TCP 连接实现 P2P 通信的基本步骤,你可以根据你的具体需求进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值