예제 #1
0
        public void SendOpenMessageToListner(int k)
        {
            if (GlobalVariables.True)
            {
                GlobalVariables.conCountSpeaker = k;

                //Console.WriteLine("*********** SPEAKER NUMBER**************** : " + k);

                //OpenMessage(ushort type, ushort version,ushort myAS, ushort holdTime, string bgpIdentifier, ushort optimalParLength)
                OpenMessage openPacket = new OpenMessage(GlobalVariables.bgpVerson, GlobalVariables.speakerConAnd_AS[(ushort)k], GlobalVariables.holdTime,
                                                         GlobalVariables.conAnd_Speaker[k], GlobalVariables.optimalParLength);

                bgpSpeaker[k].Send(openPacket.BGPmessage);
            }
        }
예제 #2
0
        public void CreateAndSendMessage(string type, string content)
        {
            switch (type)
            {
            case ("open"):
                //string[] contents = Regex.Split(content, @"\`(.*?)\`");
                string spreadsheetName = content;

                OpenMessage newMessage = new OpenMessage(spreadsheetName, username, password);

                string s = JsonConvert.SerializeObject(newMessage);
                SendMessage(newMessage);
                break;
            }
        }
예제 #3
0
        public async Task OpenText(Message m, OpenMessage Page, User user, ConfigModel conf)
        {
            using (ImapClient client = new ImapClient())
            {
                List <string> atc = new List <string>();
                await client.ConnectAsync(conf.ImapServer, conf.ImapPort);

                client.Authenticate(user.Mail, user.Password);
                IMailFolder Folder = client.GetFolder(ListMessages.fold);
                await Folder.OpenAsync(FolderAccess.ReadWrite);

                IList <IMessageSummary> msg = Folder.Fetch(new[] { m.ID }, MessageSummaryItems.UniqueId | MessageSummaryItems.BodyStructure | MessageSummaryItems.Envelope);
                LastOpenId = msg.First().UniqueId;
                var bodyHTML = (TextPart)Folder.GetBodyPart(msg.First().UniqueId, msg.First().HtmlBody);
                Page.Dispatcher.Invoke(() =>
                {
                    Page.Attachments.Children.Clear();
                });
                Folder.SetFlags(m.ID, MessageFlags.Seen, true);
                m.MessageColor = new SolidColorBrush(Colors.White);
                foreach (BodyPartBasic attachment in msg.First().Attachments)
                {
                    Button bt = new Button
                    {
                        Content = attachment.FileName,
                    };
                    Page.Dispatcher.Invoke(() =>
                    {
                        bt.Click += new RoutedEventHandler(new MailWindow(user, conf).OpenAttachment);
                        Page.Attachments.Children.Add(bt);
                    });
                }

                if (m != null)
                {
                    Page.Dispatcher.Invoke(() =>
                    {
                        Page.Info.Text = ($"Subject: {msg.First().Envelope.Subject} \n\rFrom {msg.First().Envelope.From} at {msg.First().Envelope.Date} to {msg.First().Envelope.To}");
                        Page.Body.NavigateToString("<html><head><meta charset='UTF-8'></head>" + bodyHTML.Text + "</html>");
                        Page.MailBody.Visibility = 0;
                    });
                }
                client.Disconnect(true);
            }
        }
예제 #4
0
 private void Messages_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
 {
     Model.Message choosed = (Model.Message)Messages.SelectedItem;
     if (choosed != null && choosed.Subject == "Load more...")
     {
         new ListMessages().LoadMore(choosed, Window, Config, UserData);
     }
     else
     {
         Task.Factory.StartNew(() =>
         {
             Window.Dispatcher.Invoke(() =>
             {
                 var o = new OpenMessage(Window);
                 Window.MainFrame.Navigate(o);
                 new OpenMail().OpenText(choosed, o, UserData, Config);
             });
         });
     }
 }
예제 #5
0
        public void SendingOpenMsg_Speaker()
        {
            //tracking the proper connection number and the speaker socket was the difficult task

            if (GlobalVariables.openMsgSendCount < GlobalVariables.listnerSocket_Dictionary.Count)
            {
                //tempSocket[GlobalVariables.openMsgSendCount] = GlobalVariables.listnerSocket_Dictionary[GlobalVariables.openMsgSendCount];
                Socket      tempSock   = GlobalVariables.listnerSocket_Dictionary[GlobalVariables.openMsgSendCount];
                OpenMessage openPacket = new OpenMessage(GlobalVariables.bgpVerson, GlobalVariables.speakerConAnd_AS[(ushort)GlobalVariables.openMsgSendCount], GlobalVariables.holdTime,
                                                         "" + IPAddress.Parse(((IPEndPoint)tempSock.LocalEndPoint).Address.ToString()), GlobalVariables.optimalParLength);


                //Console.WriteLine("Sending open packet" + "verson : " + GlobalVariables.bgpVerson + "AS : " + GlobalVariables.speakerConAnd_AS[(ushort)GlobalVariables.openMsgSendCount] + "Hold Time : " + GlobalVariables.holdTime + "IP : "
                // + IPAddress.Parse(((IPEndPoint)tempSocket[GlobalVariables.openMsgSendCount].RemoteEndPoint).Address.ToString()) + "param : " + GlobalVariables.optimalParLength);
                messageType = "OPEN";
                //Socket temSoc = tempSocket[GlobalVariables.openMsgSendCount];
                Console.WriteLine("BGP Listner:" + IPAddress.Parse(((IPEndPoint)tempSock.LocalEndPoint).Address.ToString()) + " has send open Message !!");
                SendSpeaker(openPacket.BGPmessage, tempSock, messageType);

                //sendOpenDone.WaitOne();

                GlobalVariables.openMsgSendCount++;
            }
        }
예제 #6
0
 public void OnOpen(OpenMessage message)
 {
     mindmapStore.AddAsync(message.File).Forget();
 }
예제 #7
0
 private void OpenReceived(OpenMessage open)
 {
     this.connections.Add(open.Id, open.Filename);
     this.NotifyPropertyChanged("Connections");
 }