断线重连
一、说明
所谓断线重连,即tcp客户端在断开服务器后,主动发起的再次连接请求。
二、使用Reconnection插件
使用断线重连非常简单,仅一行代码完成。
.UsePlugin()
.ConfigurePlugins(a=>
{
a.UseReconnection(5, true, 1000);//如需永远尝试连接,tryCount设置为-1即可。
});
注意
断线重连,必须满足以下几个要求:
- 必须完成第一次连接
- 必须是被动断开,如果是客户端主动调用Close、Disconnect等方法主动断开的话,不会生效。
- 必须有显式的断开信息,也就是说,直接拔网线的话,不会立即生效,会等tcp保活到期后再生效。
三、使用PollingKeepAlive插件
Pro使用断线重连, 在兼容上述方法的同时,还支持一种无人值守的连接方式,即轮询式连接,使用也非常简单,仅一行代码完成。
.UsePlugin()
.ConfigurePlugins(a=>
{
a.Add<PollingKeepAlivePlugin<TcpClient>>()
.SetTick(1000);//每秒检查
});
注意
PollingKeepAlive断线重连,必须满足以下几个要求:
- 不要和UseReconnection一同使用
- 必须有显式的断开信息,也就是说,直接拔网线的话,不会立即生效,会等tcp保活到期后再生效。