断线重连
定义
命名空间:TouchSocket.Sockets
程序集:TouchSocket.dll
一、说明
所谓断线重连,即tcp客户端在断开服务器后,主动发起的再次连接请求。
二、使用Reconnection插件
使用断线重连非常简单,仅一行代码完成。
.ConfigurePlugins(a=>
{
a.UseReconnection(5, true, 1000);//如需永远尝试连接,tryCount设置为-1即可。
});
注意
断线重连,必须满足以下几个要求:
- 必须完成第一次连接
- 必须是被动断开,如果是客户端主动调用Close、Disconnect等方法主动断开的话,不会生效。
- 必须有显式的断开信息,也就是说,直接拔网线的话,不会立即生效,会等tcp保活到期后再生效。
三、使用Polling轮询连接插件
使用Polling断线重连,是一种无人值守的连接方式,即轮询式连接,使用也非常简单,仅一行代码完成。
.ConfigurePlugins(a=>
{
a.UseReconnection()
.SetTick(TimeSpan.FromSeconds(1))
.UsePolling();
});
注意
Polling重连,必须满足以下几个要求:
- 必须有显式的断开信息,也就是说,直接拔网线的话,不会立即生效,会等tcp保活到期后再生效。
提示
UseReconnection插件,可以通过设置SetActionForCheck,自己规定检查活性的方法。默认情况下,只会检验Online属性,所以无法检验出断网等情况。如果自己控制,则可以发送心跳包,以保证在线状态。