Difference between revisions of "C Sharp Examples"
Jump to navigation
Jump to search
m (Added categories) |
PeterHicks (talk | contribs) m (Tidy up code) |
||
Line 3: | Line 3: | ||
This code will connect to the TRAIN_MVT_ALL_TOC topic and display all messages. For more details on this client, see [http://gavincoates.com/c-activemq-stomp Gavin's blog]. | This code will connect to the TRAIN_MVT_ALL_TOC topic and display all messages. For more details on this client, see [http://gavincoates.com/c-activemq-stomp Gavin's blog]. | ||
− | < | + | <code> |
− | + | 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); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </code> | ||
{{Navtable-DataFeeds}} | {{Navtable-DataFeeds}} |
Revision as of 16:33, 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 • 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 |