C Sharp Examples: Difference between revisions

From Open Rail Data Wiki
m Gavin's blog no longer works.
m Added GitHub link
Line 2: Line 2:


This code will connect to the TRAIN_MVT_ALL_TOC topic and display all messages.   
This code will connect to the TRAIN_MVT_ALL_TOC topic and display all messages.   
Sample code for C# .NET is available at [https://github.com/openraildata/stomp-client-dotnet on the openraildata organization on GitHub].


<code>
<code>

Revision as of 13:02, 3 October 2022

Apache NMS

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

Sample code for C# .NET is available at on the openraildata organization on GitHub.

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)