示例#1
0
        private void Register(object sender, RoutedEventArgs e)
        {
            SaveLoginSettings();
            LoginMessageText      = string.Empty;
            AwaitingLoginResponse = true;
            Cursor = Cursors.Wait;

            MainWindow main = App.Current.MainWindow as MainWindow;

            Task.Run(() =>
            {
                main.Client.Connect(address, port, CONNECT_TIMEOUT);
                if (!main.Client.IsConnected)
                {
                    App.Current.Dispatcher.Invoke(() =>
                    {
                        main.Client.Dispose();
                        loginMessageText      = SERVER_UNREACHABLE;
                        AwaitingLoginResponse = false;
                        if (!WorkInProgress)
                        {
                            Cursor = Cursors.Arrow;
                        }
                    });
                    return;
                }

                RegisterAccountRequest request = new RegisterAccountRequest(username, PasswordBox.Password, main.Client.Serializer);
                JamPacket requestPacket        = new JamPacket(Guid.Empty, Guid.Empty, RegisterAccountRequest.DATA_TYPE, request.GetBytes());
                main.Client.Send(requestPacket);
            });
        }