我使用的是Ubuntu 14.04。 nodejs - > kafkaesque(kafka nodejs client) - > kafka_2.9.2-0.8.2.1-> storm。在Kafkaesque,(kafka nodejs客户端),我注意到在api.js中,有以下行来创建套接字。
_socket = net.createConnection(_options.port, _options.host);
我想知道socket超时的默认值是什么。如果我想要套接字连接始终存在/永久性,我应该setTimeout(0)吗?
我还注意到代码后面部分的后续行:
_socket.on('timeout', function(){
console.log('socket timeout');
});
如果我希望套接字连接永久,我是否应该尝试在此超时功能中再次建立连接?
答案 0 :(得分:1)
默认情况下,net.Socket没有超时。
因此,除非在其他地方有socket.setTimeout()
调用,否则套接字不应该超时。
另外:
当触发空闲超时时,套接字将收到“超时”事件,但不会切断连接。用户必须手动结束()或销毁()套接字。
因此,除非回调与timeout
或end()
断开连接,否则在destroy()
事件触发时您无需重新连接。