C Sharp Examples

From Open Rail Data Wiki
Revision as of 12:58, 3 October 2022 by Liam Crozier (talk | contribs) (Gavin's blog no longer works.)

Apache NMS

This code will connect to the TRAIN_MVT_ALL_TOC topic and display all messages.

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 UsesFAQ 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)