1
This commit is contained in:
@@ -16,12 +16,14 @@ namespace BITKit.Net.Kcp
|
||||
[SerializeField] private ushort m_port;
|
||||
[SerializeField] private bool connectOnStart;
|
||||
[SerializeField] private bool autoReconnect;
|
||||
[Header(Constant.Header.Debug)]
|
||||
[SerializeField]
|
||||
[ReadOnly]private Vector2 traffic;
|
||||
[SerializeField]
|
||||
[ReadOnly]private string upTraffic;
|
||||
[SerializeField]
|
||||
[ReadOnly]private string downTraffic;
|
||||
[SerializeField, ReadOnly] private bool isConnected;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
[SerializeField] private Optional<string> allowDebugHost;
|
||||
@@ -33,6 +35,8 @@ namespace BITKit.Net.Kcp
|
||||
private KcpNetClient client;
|
||||
private INetClient _netClientImplementation=>client;
|
||||
private INetProvider _netProviderImplementation=>client;
|
||||
|
||||
private readonly IntervalUpdate _reconnectInterval = new(1);
|
||||
|
||||
public event Action OnStartConnect
|
||||
{
|
||||
@@ -171,30 +175,10 @@ namespace BITKit.Net.Kcp
|
||||
{
|
||||
_netProviderImplementation.HandShake();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private async void Reconnect()
|
||||
{
|
||||
if (autoReconnect is false) return;
|
||||
try
|
||||
{
|
||||
await Task.Delay(1000, destroyCancellationToken);
|
||||
if (client.IsConnected is false)
|
||||
{
|
||||
await client.Connect(m_host, m_port);
|
||||
}
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
private void Awake()
|
||||
{
|
||||
Singleton = this;
|
||||
client = new KcpNetClient();
|
||||
client.OnConnectedFailed += Reconnect;
|
||||
}
|
||||
private void Start()
|
||||
{
|
||||
@@ -224,12 +208,19 @@ namespace BITKit.Net.Kcp
|
||||
|
||||
private void OnTick(float obj)
|
||||
{
|
||||
if (client.IsConnected is false && autoReconnect)
|
||||
{
|
||||
if (_reconnectInterval.AllowUpdate)
|
||||
client.Connect(m_host, m_port).Forget();
|
||||
}
|
||||
|
||||
timer.Update(obj);
|
||||
rate = timer;
|
||||
Tick();
|
||||
traffic = client.Traffic;
|
||||
upTraffic = NetUtils.GetFileSize((long)traffic.x);
|
||||
downTraffic = NetUtils.GetFileSize((long)traffic.y);
|
||||
isConnected = IsConnected;
|
||||
}
|
||||
[BIT]
|
||||
private void EditorConnect()
|
||||
|
Reference in New Issue
Block a user