Example #1
0
        private string TreeNodeText(TalkerSession <string> talkerSession)
        {
            StringBuilder sb = new StringBuilder(80);

            sb.Append(talkerSession.SessionType);
            sb.Append(" " + talkerSession.ServerAddress());
            sb.Append(" " + talkerSession.ClientAddress());
            return(sb.ToString());
        }
Example #2
0
 private void Talker_FormClosed(object sender, FormClosedEventArgs e)
 {
     helpForm.Close();
     this.Hide(); // could take some time to close all connections - this makes it look more snappy
     foreach (TreeNode treeNode in tvConnections.Nodes)
     {
         if (treeNode.Parent != null)
         {
             continue;                          // only interested in top-level nodes
         }
         TalkerSession <string> talkerSession = (TalkerSession <string>)treeNode.Tag;
         talkerSession.Close();
     }
 }
Example #3
0
        private void MessageReceiver(TalkerSession <string> talkerSession, string message)
        {
            if (this.tbReceived.InvokeRequired) // calling thread same as form thread?
            {
                TalkerSession <string> .MessageReceiverDelegate d = new TalkerSession <string> .MessageReceiverDelegate(MessageReceiver);

                this.Invoke(d, new object[] { talkerSession, message }); // synchronous call - for asynch use BeginInvoke instead
            }
            else
            {
                this.Activate();
                this.tbReceived.AppendText(DateTime.Now.ToString("HH:mm:ss ") + message + Environment.NewLine);
            }
        }
Example #4
0
        private void btnNewServer_Click(object sender, EventArgs e)
        {
            ClearStatus();
            TalkerSession <string> talkerSession;

            try
            {
                talkerSession = new TalkerSession <string>(TalkerSession <string> .SessionTypeEnum.Server, GetServerAddressString());
                talkerSession.SubscribeMessageReceived(new TalkerSession <string> .MessageReceiverDelegate(MessageReceivedDistributor));
            }
            catch (Exception e1)
            {
                toolStripStatusLabel1.Text = e1.Message;
                return;
            }
            TreeNode treeNode = tvConnections.Nodes.Add("Server " + GetServerAddressString());

            treeNode.Tag = talkerSession;
            talkerSession.TopLevelTreeNode = treeNode;
        }
Example #5
0
        private void menuItem_Click(object sender, System.EventArgs e)
        {
            ClearStatus();
            MenuItem menuItem = (MenuItem)sender;
            TreeNode treeNode = tvConnections.SelectedNode;

            Debug.Assert(treeNode.Tag.GetType() == typeof(TalkerSession <string>));
            TalkerSession <string> talkerSession = (TalkerSession <string>)treeNode.Tag;

            Debug.Assert(talkerSession != null);
            if (menuItem.Text == TEST_MESSAGE)
            {
                talkerSession.SendMessageToAllPeers(TEST_MESSAGE);
                return;
            }
            if (menuItem.Text == REFRESH)
            {
                treeNode.Text = TreeNodeText(talkerSession);
                return;
            }
            toolStripStatusLabel1.Text = "Context Item " + menuItem.Text + " not implemented";
        }
Example #6
0
 private void MessageReceivedDistributor(TalkerSession <string> talkerSession, string message)
 {
     MessageReceiver(talkerSession, message);
 }