protected override void RaiseOnCompletedOnDestroy() {
if (_cancelPingPong != null) {
_cancelPingPong.Dispose();
_cancelPingPong = null;
}
if (_onRecv != null) {
_onRecv.OnCompleted();
_onRecv = null;
}
if (!IsConnected) // Note : Here should be if(IsConnected)
WebSocket.Close();
}