C Sharp Examples: Difference between revisions
PeterHicks (talk | contribs) m Tidy up code |
PeterHicks (talk | contribs) m →Apache NMS: Remove stray bracket |
||
Line 4: | Line 4: | ||
<code> | <code> | ||
using System; | using System; | ||
using System.Collections.Generic; | using System.Collections.Generic; | ||
using System.Linq; | using System.Linq; | ||
using System.Text; | using System.Text; | ||
using System.IO; | using System.IO; | ||
using Apache.NMS; | using Apache.NMS; | ||
namespace ApacheNMS | |||
{ | |||
class Program | |||
{ | |||
static void Main(string[] args) | |||
{ | |||
IConnectionFactory factory = new NMSConnectionFactory(new Uri("stomp:tcp://datafeeds.networkrail.co.uk:61618")); | |||
IConnection connection = factory.CreateConnection("username", "password"); | |||
ISession session = connection.CreateSession(); | |||
IDestination destination = session.GetDestination("topic://" + "TRAIN_MVT_ALL_TOC"); | |||
IMessageConsumer consumer = session.CreateConsumer(destination); | |||
connection.Start(); | |||
consumer.Listener += new MessageListener(OnMessage); | |||
Console.WriteLine("Consumer started, waiting for messages... (Press ENTER to stop.)"); | |||
Console.ReadLine(); | |||
connection.Close(); | |||
} | |||
private static void OnMessage(IMessage message) | |||
{ | |||
try | |||
{ | |||
Console.WriteLine("Median-Server (.NET): Message received"); | |||
ITextMessage msg = (ITextMessage)message; | |||
message.Acknowledge(); | |||
Console.WriteLine(msg.Text); | |||
} | |||
catch (Exception ex) | |||
{ | |||
Console.WriteLine(ex.Message); | |||
Console.WriteLine("---"); | |||
Console.WriteLine(ex.InnerException); | |||
Console.WriteLine("---"); | |||
Console.WriteLine(ex.InnerException.Message); | |||
} | |||
} | |||
} | |||
} | |||
} | |||
</code> | </code> | ||
Revision as of 16:36, 8 December 2014
Apache NMS
This code will connect to the TRAIN_MVT_ALL_TOC topic and display all messages. For more details on this client, see Gavin's blog.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Apache.NMS;
namespace ApacheNMS
{
class Program
{
static void Main(string[] args)
{
IConnectionFactory factory = new NMSConnectionFactory(new Uri("stomp:tcp://datafeeds.networkrail.co.uk:61618"));
IConnection connection = factory.CreateConnection("username", "password");
ISession session = connection.CreateSession();
IDestination destination = session.GetDestination("topic://" + "TRAIN_MVT_ALL_TOC");
IMessageConsumer consumer = session.CreateConsumer(destination);
connection.Start();
consumer.Listener += new MessageListener(OnMessage);
Console.WriteLine("Consumer started, waiting for messages... (Press ENTER to stop.)");
Console.ReadLine();
connection.Close();
}
private static void OnMessage(IMessage message)
{
try
{
Console.WriteLine("Median-Server (.NET): Message received");
ITextMessage msg = (ITextMessage)message;
message.Acknowledge();
Console.WriteLine(msg.Text);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine("---");
Console.WriteLine(ex.InnerException);
Console.WriteLine("---");
Console.WriteLine(ex.InnerException.Message);
}
}
}
}
Network Rail Open Data Feeds | |
---|---|
Data Feeds | About the Feeds • Account States • Durable Subscriptions • Example Code ( PHP / C# / Java / Ruby / Node.js) • Advanced Uses • FAQ • Release Notes |
RTPPM | RTPPM Feed |
Train Movements | Train Movements Feed • Train Activation • Train Cancellation • Train Movement • Train Reinstatement • Change of Origin • Change of Identity • Change of Location • TSPEED Field • Planned Cancellations • Cancellation Codes |
TD | TD Feed • C-Class Messages • S-Class Messages • Train Describers • TD Berths |
VSTP | VSTP Feed |
TSR | TSR Feed • Route Codes |
SCHEDULE | SCHEDULE Feed • TIPLOC Records • Schedule and Location Records • Association Records • CIF Codes • How Scheduling Works • Allowances |
Reference Data | Reference Data Feed • TOC Codes • CIF Codes • Delay Attribution Codes • Identifying Locations (STANOX, TIPLOC, NLC and 3-Alpha Codes) • STANOX Geographical Areas • Train Planning data (BPLAN) |