xAP Home Automation

An open standard for the home

xFx-Express Hub

May, 2008 by Edward

Any PC that runs more than one xAP application needs to run a xAP hub. The hub is required because only one program on a computer is allowed to connect to an IP port and receive data. xAP data is sent over the LAN using UDP packets on port 3639. The job of a xAP hub is to listen for xAP messages on port 3639 and distribute them to all the other xAP programs (clients) running on the computer.

New features include:

  • Handles both v1.2 and extended v1.3 UID formats.
  • Deals gracefully with network unavailability
    (DHCP refreshes, WiFi drop-outs etc)
  • Supports xAP performance counters (perfmon).
  • Incorporates the log4net logging library
    (service logs to the xAP event log).
  • Now runs on Vista (and any other platform with .Net 2.0).

The xFx-Express hub can operate either as a Windows Service (normal operation) or as a console application (useful for debugging). Previous hubs were available in a GUI format - this is no longer provided.

Download xFx-Express Hub.

Last Updated 12 May 2008 00:39, xFxHub version 1.2.3053.42584.

What happened to the old hubs?

Jan 20, 2008 by Edward

Previous xFx Hub applications were simple application wrappers around the hub functionality in xAP Framework. Hub functionality continues to be part of the xAP Framework. Any application developed with xAP Framework can act as a xAP hub if it needs to but this behaviour is now strongly discouraged. This is because applications acting as hubs cause no end of support issues particularly on system startup. The hub functionality in xAP Framework is no longer maintained.

The issue with the hubs based on xAP Framework was that it is oriented towards the support of applications and focuses on strict validation of xAP messages. It is not the role of a hub to be validating messages; it should just act as a forwarder of messages with validation being done by the receiving application.

The current hub, the xFx-Express Hub, is therefore not based on xAP Framework but is self-contained, resulting in a more reliable, transparent, higher-performance hub than was possible previously.