private async Task StartAsync()
        {
            try
            {
                OnSubMessage?.Invoke($"正在连接{_clientConfig.Url}....", "重要");
                ClientWebSocket = new ClientWebSocket();
                var uri = new Uri(_clientConfig.Url);
                _cancellationToken = new CancellationToken();
                await ClientWebSocket.ConnectAsync(uri, _cancellationToken);

                OnSubMessage?.Invoke("连接成功", "重要");
                if (!_isListening)
                {
                    StartListeningAsync();
                }
                _isManualClose = false;
                OnConnectionSuccess?.Invoke();
                _reconnectionNumber = 0;
            }
            catch (Exception exception)
            {
                await StopAsync(false);

                OnSubMessage?.Invoke("连接失败", "重要");
                OnException?.Invoke(exception);
                OnConnectionFail?.Invoke();
            }
        }
        public void Connect(string address, int port)
        {
            var topology = new HostTopology(_connectionConfig, 1);

            _socketId = NetworkTransport.AddHost(topology);

            byte error;

            _connectionId = NetworkTransport.Connect(_socketId, address, port, 0, out error);

            NetworkError errorType = (NetworkError)error;

            if (errorType == NetworkError.Ok)
            {
                Debug.Log("Connected to server. Connection id: " + _connectionId);

                if (OnConnectedToServer != null)
                {
                    OnConnectedToServer.Invoke();
                }
            }
            else
            {
                Debug.LogError("Connection failed with errorType: " + _connectionId);

                if (OnConnectionFail != null)
                {
                    OnConnectionFail.Invoke(errorType.ToString());
                }
            }
        }