我正在使用 net.Socket
模块连接到 EFNET 并测试我的代码,以便向我的机器人添加重新连接事件。
我可以通过哪些方式来模拟机器人断开连接?问题是 2-3 周后就会断开连接 - 我添加了事件处理程序,以便了解当它与 IRC 断开连接时会发生什么情况:
irc = {
info:{}
, listeners : []
, socket : new net.Socket()
}
irc.socket.on('timeout', function() {
console.log('timeout');
});
irc.socket.on('error', function() {
console.log('error');
});
irc.socket.on('end', function() {
console.log('end??')
setTimeout(function() {
//irc.socket.connect(config.server.port, config.server.addr);
}, 1000 );
});
或者如果有人知道哪些实际事件通常与 irc 机器人相关,我将不胜感激。
编辑#1:也许我可以使用iptables
做一些事情并在运行时过滤端口或类似的事情?
最佳答案
当机器人断开连接时,不会触发 IRC
事件,它只是关闭客户端和服务器之间的连接。
您可以设置自己的 IRC 服务器并使用 KLINE
或 GLINE
命令(作为 IRC 管理员)禁止您的机器人离开服务器,这将强制关闭连接并模仿断开连接。
关于node.js - 如何模拟 irc 服务器断开连接来测试我的 nodejs irc 机器人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27196527/