Exemplo n.º 1
0
        /// <summary>
        /// ChatBackend constructor should be called with a delegate that is capable of displaying messages.
        /// </summary>
        /// <param name="dmd">DisplayMessageDelegate</param>
        public ChatBackend(DisplayMessageDelegate dmd)
        {
            _displayMessageDelegate = dmd;


            ///StartService();
        }
Exemplo n.º 2
0
        private void ReceiveData(IAsyncResult ar)
        {
            try
            {
                // Receive all data
                this.clientSocket.EndReceive(ar);

                // Initialise a packet object to store the received data
                LoginPacket receivedData = new LoginPacket(dataStream);



                // Update display through a delegate
                if (receivedData.ChatMessage != null)
                {
                    this.Dispatcher.BeginInvoke(this.displayMessageDelegate, new object[] { receivedData.ChatMessage });
                }



                // Reset data stream
                this.dataStream = new byte[1024];

                // Continue listening for broadcasts

                clientSocket.BeginReceiveFrom(this.dataStream, 0, this.dataStream.Length, SocketFlags.None, ref epServer, new AsyncCallback(this.ReceiveData), null);



                this.displayMessageDelegate = new DisplayMessageDelegate(DisplayMessage);
            }
            catch (Exception e)
            {
            }
        }
Exemplo n.º 3
0
        public AddDownloadViewModel(AddItemsAsyncDelegate addItemsAsync, ShowPreviewDelegate showPreview, DisplayMessageDelegate displayMessage)
        {
            _addItemsAsync  = addItemsAsync;
            _displayMessage = displayMessage;
            AddCommand      = new RelayCommand <object>(Add, Add_CanExecute);
            PreviewCommand  = new RelayCommand <object>(Preview, Add_CanExecute);

            _clipboardService = new ClipboardObserver();

            if (Settings.Default.LastSavedLocation.Trim().Length > 0)
            {
                this.SaveToFolder = Settings.Default.LastSavedLocation;
            }
            else
            {
                this.SaveToFolder = AppPaths.DownloadsFolder;
            }
            this.AddToQueue    = Settings.Default.AddItemsToQueue;
            this.StartDownload = Settings.Default.StartDownloadingAddedItems;
            this.Urls          = string.Empty;
            this.ShowPreview   = showPreview;

            var clipText = _clipboardService.GetText();

            if (clipText.Contains("http") || clipText.Contains("ftp"))
            {
                this.Urls += clipText.Trim() + "\n";
            }
        }
Exemplo n.º 4
0
        public void Send(string mess, string recv)
        {
            try
            {
                if (clientSocket == null)
                {
                    Init();
                }

                displayMessageDelegate = new DisplayMessageDelegate(DisplayMessage);
                Packet sendData = new Packet();
                sendData.dataIdentifier = DataIdentifier.Message;
                sendData.Sender         = name;
                sendData.Receiver       = recv;
                sendData.Message        = mess;
                logMess = string.Format("{0}:{1}", name, mess);
                byte[] data = sendData.GetDataStream();
                clientSocket.BeginSendTo(data, 0, data.Length, SocketFlags.None, epServer, new AsyncCallback(SendCallback), null);
                dataStream = new byte[1024];

                // Begin listening for broadcasts
                clientSocket.BeginReceiveFrom(this.dataStream, 0, this.dataStream.Length, SocketFlags.None, ref epServer, new AsyncCallback(ReceiveCallback), null);
            }catch (Exception e)
            {
                XtraMessageBox.Show(e.Message);
            }
        }
Exemplo n.º 5
0
 private void Client_Load(object sender, EventArgs e)
 {
     // Initialise delegate
     this.displayMessageDelegate = new DisplayMessageDelegate(this.DisplayMessage);
     btnSend.Enabled             = false;
     txtMessage.Enabled          = false;
 }
Exemplo n.º 6
0
        private void ProgramacioncitaVisorFrmBackup_Load(object sender, EventArgs e)
        {
            // Initialise delegate
            _displayMessageDelegate = DisplayMessage;

            iCalendarioCita.EditValue = DateTime.Now;

            ConnectToServerUpd();
        }
Exemplo n.º 7
0
        private void InitializeServerConnection()
        {
            try
            {
                // Initialize Delegate
                this.displayMessageDelegate = new DisplayMessageDelegate(this.AppendLineToChatBox);
                this.updateRoomsDelegate    = new UpdateRoomsDelegate(this.UpdateRooms);
                this.createRoomDelegate     = new CreateRoomsDelegate(this.AddRoom);
                this.deleteRoomDelegate     = new DeleteRoomsDelegate(this.DeleteRoom);

                // Initialise socket
                this.clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

                // Initialize server IP
                // TODO: Change To Server IP
                IPAddress serverIP = IPAddress.Parse(GetLocalIP());

                /*
                 * // TODO: Change To recieve input from upcoming text box
                 * // WORKAROUND: VPN to school network (or be on mst computer)
                 * //             and visit icanhazip.com in a browser and copy IP address here before building
                 * // IPAddress serverIP = IPAddress.Parse("131.151.89.23");
                 */

                // Initialize the IPEndPoint for the server and use port 30000
                IPEndPoint server = new IPEndPoint(serverIP, 30000);

                // Initialize the EndPoint for the server
                epServer = (EndPoint)server;

                // Initialize Login Message
                Message login = new Message();
                login.Who = UserName;
                login.Why = 200;

                string jsonMessage = JsonConvert.SerializeObject(login);

                // Encode Into Byte Array
                var    enc = new ASCIIEncoding();
                byte[] msg = new byte[1500];
                msg = enc.GetBytes(jsonMessage);

                // Send The Message
                clientSocket.BeginSendTo(msg, 0, msg.Length, SocketFlags.None, epServer, new AsyncCallback(this.SendData), null);

                // Initialize data stream
                this.dataStream = new byte[1024];

                // Begin listening for broadcasts
                clientSocket.BeginReceiveFrom(this.dataStream, 0, this.dataStream.Length, SocketFlags.None, ref epServer, new AsyncCallback(this.ReceiveData), null);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }
        }
Exemplo n.º 8
0
        private void Form1_Load(object sender, System.EventArgs e)
        {
            Size size = SystemInformation.PrimaryMonitorMaximizedWindowSize;

            bitmap = new Bitmap(size.Width, size.Height);
            gB     = Graphics.FromImage(bitmap);
            Color bckColor = this.BackColor;

            gB.Clear(bckColor);
            button4.ForeColor = Color.Black;
            color             = Color.Red;

            this.displayMessageDelegate = new DisplayMessageDelegate(this.DisplayMessage);
        }
Exemplo n.º 9
0
        //connect and set up UDP to broadcast
        private void FormSim_Load(object sender, EventArgs e)
        {
            // Initialise delegate
            displayMessageDelegate = new DisplayMessageDelegate(DisplayMessage);

            //try
            //{
            //    ipAddress = tboxIP.Text.Trim();

            //    // Initialise socket
            //    clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            //    // Initialise server IP
            //    IPAddress serverIP = IPAddress.Parse(ipAddress);

            //    // Initialise the IPEndPoint for the server and use port 30000
            //    epServer = new IPEndPoint(serverIP, (int)nudPort.Value);

            //    // Get packet as byte array
            //    byte[] data = Encoding.ASCII.GetBytes("Connecting");

            //    // Send data to server
            //    clientSocket.BeginSendTo(data, 0, data.Length, SocketFlags.None, epServer, new AsyncCallback(SendData), null);

            //    // Initialise data stream
            //    buffer = new byte[1024];

            //    timer1.Enabled = true;

            //    // Begin listening for broadcasts
            //    clientSocket.BeginReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref epServer, new AsyncCallback(ReceiveData), null);

            //    //start allowing nmea to be sent
            //    isConnected = true;
            //}
            //catch (Exception ex)
            //{
            //    MessageBox.Show("Connection Error: " + ex.Message, "UDP Client", MessageBoxButtons.OK, MessageBoxIcon.Error);
            //}

            //calc the speed
            stepDistance  = ((double)(tbarStepDistance.Value)) / 10.0 / (double)nudHz.Value;
            lblStep.Text  = Convert.ToString(Math.Round(((double)(tbarStepDistance.Value)) / 10.0, 1));
            lblSpeed.Text = (Math.Round((1.852 * speed), 1)).ToString();
        }
Exemplo n.º 10
0
        public FrmClient(string cName, string account)
        {
            InitializeComponent();
            this.userName     = account;
            lblChatName.Text  = cName;
            this.clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            IPEndPoint server = new IPEndPoint(serverIP, port);

            serverEndPoint = (EndPoint)server;

            //发送登录信息
            SendLogin();

            //开始接收数据
            this.dataStream = new byte[1024];
            clientSocket.BeginReceiveFrom(this.dataStream, 0, this.dataStream.Length, SocketFlags.None, ref serverEndPoint, new AsyncCallback(this.ReceiveData), null);
            this.displayMessageDelegate = new DisplayMessageDelegate(this.DisplayMessage);
        }
Exemplo n.º 11
0
        //connect and set up UDP to broadcast
        private void FormSim_Load(object sender, EventArgs e)
        {
            // Initialise delegate
            displayMessageDelegate = new DisplayMessageDelegate(DisplayMessage);

            try
            {
                ipAddress = tboxIP.Text.Trim();

                // Initialise socket
                clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

                // Initialise server IP
                IPAddress serverIP = IPAddress.Parse(ipAddress);

                // Initialise the IPEndPoint for the server and use port 30000
                epServer = new IPEndPoint(serverIP, (int)nudPort.Value);

                // Get packet as byte array
                byte[] data = Encoding.ASCII.GetBytes("Connecting");

                // Send data to server
                clientSocket.BeginSendTo(data, 0, data.Length, SocketFlags.None, epServer, new AsyncCallback(SendData), null);

                // Initialise data stream
                buffer = new byte[1024];

                timer1.Enabled = true;

                // Begin listening for broadcasts
                clientSocket.BeginReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref epServer, new AsyncCallback(ReceiveData), null);

                //start allowing nmea to be sent
                isConnected = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Connection Error: " + ex.Message, "UDP Client", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 12
0
 private void Client_Load(object sender, EventArgs e)
 {
     // Initialise delegate
     this.displayMessageDelegate = new DisplayMessageDelegate(this.DisplayMessage);
 }
Exemplo n.º 13
0
 private void ClientForm_Load(object sender, EventArgs e)
 {
     this.displayMessageDelegate = new DisplayMessageDelegate(this.DisplayMessage);
     ConnectedUserTextBox.AppendText(userName + " (You)" + Environment.NewLine);
 }
Exemplo n.º 14
0
 public MainWindow()
 {
     InitializeComponent();
     displayMessageDelegate = new DisplayMessageDelegate(readAndShowMessage);
 }
Exemplo n.º 15
0
 private Connecting( iFolderWebService ifws, SimiasWebService simiasWebService, Manager simiasManager, string password )
 {
     this.simiasWebService = simiasWebService;
        this.simiasManager = simiasManager;
        this.password = password;
        this.ifWebService = ifws;
        displayMessageDelegate = new DisplayMessageDelegate( displayMessage );
        connectDoneDelegate = new ConnectDoneDelegate( connectDone );
     InitializeComponent();
 }
Exemplo n.º 16
0
 public Connecting(iFolderWebService ifws, SimiasWebService simiasWebService, Manager simiasManager, string serv, string username, string pass, bool defAcct, bool remPass, bool certprompt)
 {
     this.simiasWebService = simiasWebService;
     this.simiasManager = simiasManager;
     this.ifWebService = ifws;
     UriBuilder UriSchemeForServer = new UriBuilder(serv);
     this.server = UriSchemeForServer.Host;
     this.user = username;
     this.defaultServer = defAcct;
     this.rememberPassword = remPass;
     this.password = pass;
     this.autoAccountEnabled = true;
     promptForInvalidCert = certprompt;
     displayMessageDelegate = new DisplayMessageDelegate(displayMessage);
 }
Exemplo n.º 17
0
 public ClientWindow()
 {
     InitializeComponent();
     displayMessageDelegate = new DisplayMessageDelegate(DisplayMessage);
 }
Exemplo n.º 18
0
 private void Client_Load(object sender, EventArgs e)
 {
     userLbl.Text = "Logged in as " + clientName;
     Connect();
     displayMessageDelegate = new DisplayMessageDelegate(DisplayMessage);
 }
Exemplo n.º 19
0
 /// <summary>
 /// ChatBackend constructor should be called with a delegate that is capable of displaying messages.
 /// </summary>
 /// <param name="dmd">DisplayMessageDelegate</param>
 public P2PService(DisplayMessageDelegate dmd)
 {
     _displayMessageDelegate = dmd;
     StartService();
 }
Exemplo n.º 20
0
 public Communication(DisplayMessageDelegate dmd)
 {
     _displayMessageDelegate = dmd;
     StartService();
 }
Exemplo n.º 21
0
 private void Client_Load(object sender, EventArgs e)
 {
     // Initialise delegate
     _displayMessageDelegate = DisplayMessage;
 }
Exemplo n.º 22
0
 /// <summary>
 /// ChatBackend constructor should be called with a delegate that is capable of displaying messages.
 /// </summary>
 /// <param name="dmd">DisplayMessageDelegate</param>
 public P2PService(DisplayMessageDelegate dmd)
 {
     _displayMessageDelegate = dmd;
     StartService();
 }
Exemplo n.º 23
0
 public Connector(DisplayMessageDelegate dmd)
 {
     _displayMessageDelegate = new DisplayMessageDelegate(dmd);
 }
Exemplo n.º 24
0
 /// <summary>
 /// ChatBackend constructor should be called with a delegate that is capable of displaying messages.
 /// </summary>
 /// <param name="dmd">DisplayMessageDelegate</param>
 public ChatBackend(DisplayMessageDelegate dmd, String bitcoinAddress)
 {
     _myUserName             = bitcoinAddress;
     _displayMessageDelegate = dmd;
     StartService();
 }
Exemplo n.º 25
0
 private void Client_Load(object sender, EventArgs e)
 {
     // Initialise delegate
     this.displayMessageDelegate = new DisplayMessageDelegate(this.DisplayMessage);
 }
Exemplo n.º 26
0
        public DownloaderViewModel(DisplayMessageDelegate displayMessage, ShowUrlsDelegate showUrls)
        {
            _client                           = new HttpClient();
            DownloadItemsList                 = new ObservableCollection <DownloaderObjectModel>();
            CategoriesList                    = new ObservableCollection <Category>();
            QueueProcessor                    = new QueueProcessor(Settings.Default.MaxParallelDownloads, QueueProcessor_PropertyChanged);
            _requestThrottler                 = new RequestThrottler(AppConstants.RequestThrottlerInterval);
            CollectionView                    = CollectionViewSource.GetDefaultView(DownloadItemsList);
            CollectionView.CurrentChanged    += CollectionView_CurrentChanged;
            _clipboardService                 = new ClipboardObserver();
            _semaphoreMeasuringSpeed          = new SemaphoreSlim(1);
            _semaphoreUpdatingList            = new SemaphoreSlim(1);
            _semaphoreRefreshingView          = new SemaphoreSlim(1);
            _ctsUpdatingList                  = null;
            _ctsRefreshView                   = null;
            _displayMessage                   = displayMessage;
            _lockDownloadItemsList            = DownloadItemsList;
            _lockBytesDownloaded              = this.BytesDownloaded;
            _lockBytesTransferredOverLifetime = Settings.Default.BytesTransferredOverLifetime;
            _showUrls                         = showUrls;
            this.Count                        = 0;
            this.DownloadingCount             = 0;
            this.ErroredCount                 = 0;
            this.FinishedCount                = 0;
            this.PausedCount                  = 0;
            this.QueuedCount                  = 0;
            this.ReadyCount                   = 0;
            this.VerifyingCount               = 0;
            this.BytesDownloaded              = 0;
            this.Status                       = "Ready";
            this.ProgressReporter             = new Progress <long>(value =>
            {
                Monitor.Enter(_lockBytesDownloaded);
                try
                {
                    this.BytesDownloaded += value;
                }
                finally
                {
                    Monitor.Exit(_lockBytesDownloaded);
                }
            });

            AddCommand                    = new RelayCommand <object>(Add);
            StartCommand                  = new RelayCommand <object>(Start);
            RemoveFromListCommand         = new RelayCommand <object>(RemoveFromList);
            CancelCommand                 = new RelayCommand <object>(Cancel);
            PauseCommand                  = new RelayCommand <object>(Pause);
            OpenCommand                   = new RelayCommand <object>(Open);
            OpenContainingFolderCommand   = new RelayCommand <object>(OpenContainingFolder);
            StartQueueCommand             = new RelayCommand <object>(StartQueue);
            StopQueueCommand              = new RelayCommand <object>(StopQueue);
            CloseAppCommand               = new RelayCommand <object>(CloseApp);
            CategoryChangedCommand        = new RelayCommand <object>(CategoryChanged);
            OptionsCommand                = new RelayCommand <object>(ShowOptions);
            EnqueueCommand                = new RelayCommand <object>(Enqueue);
            DequeueCommand                = new RelayCommand <object>(Dequeue);
            DeleteFileCommand             = new RelayCommand <object>(DeleteFile);
            RecheckCommand                = new RelayCommand <object>(Recheck);
            RedownloadCommand             = new RelayCommand <object>(Redownload);
            CopyLinkToClipboardCommand    = new RelayCommand <object>(CopyLinkToClipboard);
            ClearFinishedDownloadsCommand = new RelayCommand <object>(ClearFinishedDownloads);
            CancelBackgroundTaskCommand   = new RelayCommand <object>(
                CancelBackgroundTask, CancelBackgroundTask_CanExecute);
            CheckForUpdatesCommand = new RelayCommand <object>(CheckForUpdates);
            ShowHelpTopicsCommand  = new RelayCommand <object>(ShowHelpTopics);

            foreach (Category cat in (Category[])Enum.GetValues(typeof(Category)))
            {
                CategoriesList.Add(cat);
            }

            // Load last selected category
            if (string.IsNullOrEmpty(Settings.Default.LastSelectedCatagory))
            {
                SwitchCategory(Category.All);
            }
            else
            {
                SwitchCategory((Category)Enum.Parse(typeof(Category), Settings.Default.LastSelectedCatagory));
            }

            // Check for updates
            if (Settings.Default.AutoCheckForUpdates)
            {
                Task.Run(async() => await TriggerUpdateCheckAsync(true));
            }

            // Populate history
            Task.Run(async() =>
            {
                await _semaphoreUpdatingList.WaitAsync();

                _ctsUpdatingList = new CancellationTokenSource();
                var ct           = _ctsUpdatingList.Token;

                RaisePropertyChanged(nameof(this.IsBackgroundWorking));

                try
                {
                    if (Directory.Exists(AppPaths.LocalAppData))
                    {
                        this.Status = "Restoring data...";
                        RaisePropertyChanged(nameof(this.Status));
                    }
                    else
                    {
                        return;
                    }

                    SerializableDownloaderObjectModelList source;
                    var xmlReader = new XmlSerializer(typeof(SerializableDownloaderObjectModelList));

                    using (var streamReader = new StreamReader(AppPaths.DownloadsHistoryFile))
                    {
                        source = (SerializableDownloaderObjectModelList)xmlReader.Deserialize(streamReader);
                    }

                    var sourceObjects = source.Objects.ToArray();
                    var finalObjects  = new DownloaderObjectModel[sourceObjects.Count()];
                    var total         = sourceObjects.Count();

                    for (int i = 0; i < sourceObjects.Count(); i++)
                    {
                        if (ct.IsCancellationRequested)
                        {
                            break;
                        }
                        if (sourceObjects[i] == null)
                        {
                            continue;
                        }

                        int progress  = (int)((double)(i + 1) / total * 100);
                        this.Progress = progress;
                        this.Status   = "Restoring " + (i + 1) + " of " + total + ": " + sourceObjects[i].Url;
                        RaisePropertyChanged(nameof(this.Progress));
                        RaisePropertyChanged(nameof(this.Status));

                        var item = new DownloaderObjectModel(
                            ref _client,
                            sourceObjects[i].Url,
                            sourceObjects[i].Destination,
                            sourceObjects[i].IsQueued,
                            sourceObjects[i].TotalBytesToDownload,
                            sourceObjects[i].StatusCode,
                            Download_Created,
                            Download_Verifying,
                            Download_Verified,
                            Download_Started,
                            Download_Stopped,
                            Download_Enqueued,
                            Download_Dequeued,
                            Download_Finished,
                            Download_PropertyChanged,
                            ProgressReporter,
                            ref _requestThrottler);
                        item.SetCreationTime(sourceObjects[i].DateCreated);

                        finalObjects[i] = item;
                    }

                    this.Status = "Listing...";
                    RaisePropertyChanged(nameof(this.Status));

                    AddObjects(finalObjects);
                }
                catch
                {
                    return;
                }
                finally
                {
                    _ctsUpdatingList = null;

                    this.Progress = 0;
                    this.Status   = "Ready";
                    RaisePropertyChanged(nameof(this.Progress));
                    RaisePropertyChanged(nameof(this.Status));
                    RaisePropertyChanged(nameof(this.IsBackgroundWorking));

                    _semaphoreUpdatingList.Release();

                    RefreshCollection();
                }
            });
        }
Exemplo n.º 27
0
 /// <summary>
 /// ChatBackend constructor should be called with a delegate that is capable of displaying messages.
 /// </summary>
 /// <param name="dmd">DisplayMessageDelegate</param>
 public ChatBackend(DisplayMessageDelegate dmd, DisplayMessageDelegate dfd)
 {
     _displayMessageDelegate = dmd;
     _displayFileDelegate    = dfd;
     StartService();
 }