小编Sha*_*eal的帖子

如何在 NodeJS 中测试 socket.setKeepAlive

我尝试在 NodeJS 中测试 setKeepAlive() 的功能。我在同一本地网络的不同机器上运行 Server.js 和 client.js。然后,我关闭了客户端机器上的 wifi 连接(断开互联网连接)。15 分钟后,仍然没有消息抛出。这是为什么?没有 setKeepAlive() 工作吗?

这是服务器和客户端的代码:

客户端.js

var net = require('net');
var HOST = '192.168.0.16';
var PORT = 8333;

var client = net.connect(PORT, HOST, function connected(){
    console.log('connected');
});

client.setKeepAlive(true, 1);
client.write('hi server');

client.on('data', function(data) {
    console.log('Received' + data);
});

client.on('close', function(){
    console.error('connection closed');
)};

client.on('error', function(err){
    console.error('error', err);
});
Run Code Online (Sandbox Code Playgroud)

服务器.js

var net = require('net');
var HOST = '192.168.0.16';
var PORT = 8333;

net.createServer(function(sock) {
    console.log('CONNECTED: ' + sock.remoteAddress + ':' + sock.remotePort); …
Run Code Online (Sandbox Code Playgroud)

sockets tcp node.js

5
推荐指数
1
解决办法
3815
查看次数

如何在Node.js中设置最大缓冲区大小?

我正在创建一个服务器应用程序,该应用程序使用socket.write()将数据发送回客户端。

在这里,我遇到了管理缓冲区大小的问题。假设服务器和客户端之间的连接断开,并且服务器未意识到问题。因此,它将继续写入缓冲区。在这种情况下,我想限制最大缓冲区大小,以便它可以在消耗大量资源之前引发错误。

我知道node_buffer.h中的kMaxLength控制缓冲区的大小,但是我认为通过某些自定义方法更改其值不是一个好主意。还有其他方法可以管理大小吗?

c++ buffer node.js

5
推荐指数
1
解决办法
6361
查看次数

标签 统计

node.js ×2

buffer ×1

c++ ×1

sockets ×1

tcp ×1