コード例 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                m_client = new Xylasoft.LightrailClient(uxName.Text, null);

                m_client.OnRequestReceived += new Xylasoft.RequestReceived(m_client_OnRequestReceived);
                m_client.OnPublishReceived += new Xylasoft.PublishReceived(m_client_OnPublishReceived);

                m_client.StartDeliveries();

                string topic = "[Test>Text>";
                if (!String.IsNullOrEmpty(uxName.Text))
                {
                    topic += uxName.Text + "]";
                }

                if (uxRadPub.Checked)
                {
                    m_client.RegisterTerminal(Xylasoft.TerminalStandpoint.Publisher, "pub", null, topic);
                    m_client.RegisterTerminal(Xylasoft.TerminalStandpoint.Responder, "res", null, topic);

                    uxText.Enabled = true;

                    this.uxText.TextChanged += m_handler;
                }
                else
                {
                    m_client.RegisterTerminal(Xylasoft.TerminalStandpoint.Subscriber, "sub", null, topic);
                    m_client.RegisterTerminal(Xylasoft.TerminalStandpoint.Requester, "req", null, topic);

                    System.Threading.Thread.Sleep(2000);

                    try
                    {
                        Xylasoft.DetailedDelivery delivery = m_client.Request("req", new Xylasoft.Delivery("Request"), 5000);
                        uxText.Text = delivery.MessageString().Substring(1);
                    }
                    catch (Exception)
                    {
                    }
                }

                button1.Enabled = false;
                button2.Enabled = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to Start: " + ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #2
0
 Xylasoft.Delivery m_client_OnRequestReceived(Xylasoft.DetailedDelivery delivery)
 {
     return(new Xylasoft.Delivery("A" + uxText.Text));
 }
コード例 #3
0
 void m_client_OnPublishReceived(Xylasoft.DetailedDelivery delivery)
 {
     uxText.BeginInvoke(m_updateText, delivery.MessageString().Substring(1));
 }