node.js - 如何模拟 irc 服务器断开连接来测试我的 nodejs irc 机器人?

标签 node.js sockets events iptables irc

我正在使用 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 服务器并使用 KLINEGLINE 命令(作为 IRC 管理员)禁止您的机器人离开服务器,这将强制关闭连接并模仿断开连接。

关于node.js - 如何模拟 irc 服务器断开连接来测试我的 nodejs irc 机器人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27196527/

相关文章:

javascript - html 选择上的 MouseUp() 事件不起作用

node.js - 通过 phantom 运行 jasmine specs,得到 "Can' t 找到变量 : describe"

node.js - browserify external 与 exclude 有什么区别?

c - 用 C 创建的套接字可以在网络上工作吗?

java - Java 网络程序中通过套接字发送的字符串中的最后几个字符有时会丢失

javascript - 发生模糊事件时如何更改节点?

javascript - 如何跳过一些 Javascript 事件?

node.js - Mongoose 查询日期时间之间

node.js - 如何从 Node js发送json数据到html页面

c - Recv一次只能获取8个字符