Kafka,nodejs客户端(kafkaesque)套接字默认超时

时间:2015-05-20 15:46:56

标签: javascript node.js ubuntu-14.04 apache-storm

我使用的是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');
    });

如果我希望套接字连接永久,我是否应该尝试在此超时功能中再次建立连接?

1 个答案:

答案 0 :(得分:1)

来自net docs for Node.js

  

默认情况下,net.Socket没有超时。

因此,除非在其他地方有socket.setTimeout()调用,否则套接字不应该超时。

另外:

  

当触发空闲超时时,套接字将收到“超时”事件,但不会切断连接。用户必须手动结束()或销毁()套接字。

因此,除非回调与timeoutend()断开连接,否则在destroy()事件触发时您无需重新连接。