跳到主要内容
版本:1.3.9

断线重连

一、说明

所谓断线重连,即tcp客户端在断开服务器后,主动发起的再次连接请求。

二、使用Reconnection插件

使用断线重连非常简单,仅一行代码完成。

.UsePlugin()
.ConfigurePlugins(a=>
{
a.UseReconnection(5, true, 1000);//如需永远尝试连接,tryCount设置为-1即可。
});
注意

断线重连,必须满足以下几个要求:

  1. 必须完成第一次连接
  2. 必须是被动断开,如果是客户端主动调用Close、Disconnect等方法主动断开的话,不会生效。
  3. 必须有显式的断开信息,也就是说,直接拔网线的话,不会立即生效,会等tcp保活到期后再生效。

三、使用PollingKeepAlive插件

Pro使用断线重连,在兼容上述方法的同时,还支持一种无人值守的连接方式,即轮询式连接,使用也非常简单,仅一行代码完成。

.UsePlugin()
.ConfigurePlugins(a=>
{
a.Add<PollingKeepAlivePlugin<TcpClient>>()
.SetTick(1000);//每秒检查
});
注意

PollingKeepAlive断线重连,必须满足以下几个要求:

  1. 不要和UseReconnection一同使用
  2. 必须有显式的断开信息,也就是说,直接拔网线的话,不会立即生效,会等tcp保活到期后再生效。