|
@@ -18,7 +18,7 @@ namespace InABox.Rpc
|
|
|
private ManualResetEventSlim openEvent = new ManualResetEventSlim();
|
|
|
|
|
|
private string? _host;
|
|
|
- //private bool _connected = false;
|
|
|
+ private bool _connected = false;
|
|
|
|
|
|
private string[] _urls;
|
|
|
|
|
@@ -186,8 +186,13 @@ namespace InABox.Rpc
|
|
|
|
|
|
private void Client_Closed(object sender, EventArgs e)
|
|
|
{
|
|
|
+ var wasConnected = _connected;
|
|
|
+ _connected = false;
|
|
|
openEvent.Set();
|
|
|
- DoClose(RpcTransportCloseEventType.Closed);
|
|
|
+ if (wasConnected)
|
|
|
+ {
|
|
|
+ DoClose(RpcTransportCloseEventType.Closed);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void Client_DataReceived(object sender, DataReceivedEventArgs e)
|
|
@@ -209,7 +214,7 @@ namespace InABox.Rpc
|
|
|
|
|
|
private void Client_Opened(object sender, EventArgs e)
|
|
|
{
|
|
|
- //_connected = true;
|
|
|
+ _connected = true;
|
|
|
DoOpen();
|
|
|
openEvent.Set();
|
|
|
}
|
|
@@ -221,7 +226,7 @@ namespace InABox.Rpc
|
|
|
openEvent.Reset();
|
|
|
_socket.Open();
|
|
|
openEvent.Wait(ct);
|
|
|
- return IsConnected();
|
|
|
+ return _connected;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -248,6 +253,7 @@ namespace InABox.Rpc
|
|
|
}
|
|
|
|
|
|
_socket = result.Result;
|
|
|
+ _connected = true;
|
|
|
|
|
|
/*Task.Run(() =>
|
|
|
{
|
|
@@ -260,17 +266,17 @@ namespace InABox.Rpc
|
|
|
}
|
|
|
});*/
|
|
|
|
|
|
- return IsConnected();
|
|
|
+ return _connected;
|
|
|
}
|
|
|
}
|
|
|
- return IsConnected();
|
|
|
+ return _connected;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public override bool IsConnected() => _socket?.State == WebSocketState.Open;
|
|
|
public override bool IsSecure() => _socket?.Security.Certificates.Count > 0;
|
|
|
|
|
|
- public override string? ServerName() => _host;
|
|
|
+ public override String? ServerName() => _host;
|
|
|
|
|
|
public override void Disconnect()
|
|
|
{
|