TCP客户端进行第一次连接

时间:2017-07-31 20:03:09

标签: node.js tcp

假设我有一个Node.js TCP客户端

https://nodejs.org/api/net.html#net_socket_connect_path_connectlistener

我有一个库,该库需要一组主机/端口组合才能连接。我希望客户端只进行一次连接。

const endpoints = [
 {host: h1, port: p1},
 {host: h2, port: p2},
 {host: h3, port: p3},
];

我如何实现一个简单的机制来尝试连接这些?

我的猜测是,最简单的方法是逐个连续地连接它们,直到第一次连接。

我关心的是,客户端以某种方式连接到两个不同的端点。这可能吗?

第二次想到 - 尝试以超时方式串行连接它们似乎没有更好或更安全,然后尝试并行连接它们。 这似乎只是在第一次“真正”连接后正确清理您不需要的连接或半连接。

1 个答案:

答案 0 :(得分:1)

我认为通常情况下,每个连接只持续足够长的时间来发送一个请求并获得响应。因此,确实可以连接到多个端点;如果你只想连接一个,你需要连续连接。 (或者你可以异步连接并简单地“接受”第一个响应,但是你会得到第一次连接尝试,甚至是那些不被接受的连接;这是否是一个问题取决于你想要连接的原因只有一个。)