使用ESP8266 TCP客户端永久保持TCP连接

时间:2016-04-07 08:27:44

标签: sockets tcp esp8266 sming

我正在使用带有SMING框架的wifi芯片ESP8266。

我能够建立TCP连接作为远程服务器的客户端。启动客户端与服务器连接的代码很简单。

tcpClient.connect(SERVER_HOST, SERVER_PORT);

不幸的是,连接将在空闲一段时间后关闭。我想永久保持这种联系。怎么办呢?

1 个答案:

答案 0 :(得分:1)

实际上,您需要监控连接状态,并在失败时重新连接。您的协议将需要跟踪另一方实际收到的内容并重新传输。

在任何无线网络中,您的链接可能由于某种原因而失效,如果您需要维持长期连接,则需要将其置于TCP本身以上的层中。

只要双方都允许TCP(它们都没有断开连接)并且链路上没有错误,TCP将继续连接,在这种情况下,发送keepalive实际上可能会导致断开连接,因为keepalive可能一次失败但是链接可以恢复,如果你没有keepalive,链接就会保持不变。