Firehose Documentation Center

Connection Protocol

All requests must include a username and Firehose API Key (don't have one? start a free trial now). In addition to obtaining an API Key, the user's account must be specially enabled by a FlightAware representative for access to the Firehose service.

If you have a firewall that needs authorization, then please authorize the following CIDR network block ranges:

  • 206.253.80.0/21
  • 2620:13d:c000::/44

A customer's application will connect via a TCP socket secured with Secure Socket Layer/Transport Layer Security (SSL/TLS) protocol version 1.2 or higher to FlightAware. The port for downlink connections will be 1501. The hostname will be firehose.flightaware.com, unless FlightAware has instructed the customer otherwise.

On the downlink connection customer's application will send an initiation command followed by a newline character, to specify the credentials, time range, and any filtering of messages to be provided, and both sides will keep the connection open indefinitely for FlightAware to send messages to the customer as they become available. If an error in the syntax or credentials of the initiation command occurs, the firehose server will transmit an error message and disconnect.

The customer's application should be designed to detect socket disconnection and attempt to reconnect to the FlightAware server when necessary. It is also recommended to have an idle connection handler that will disconnect and reconnect if no messages have been received in the last 5 minutes. When reconnecting to the FlightAware server, the "pitr" or "range" initiation command can be used to resume playback from the pitr timestamp of the last received message, if desired.

Testing Connectivity

An important initial diagnostic technique is to confirm your outbound network connectivity over the necessary port number. For testing and development purposes, the OpenSSL command-line tools can be used to check the ability to open a SSL/TLS connection to FlightAware:

openssl s_client -host firehose.flightaware.com -port 1501 -tls1_2

If the connection is successfully established, OpenSSL will display the server's certificate information and then pause. Should it fail to connect, contact your network administrator to ensure that your application server has access to make outbound TCP connections on port 1501 to the FlightAware datacenter.

Keeping a Persistent Connection

  • Network connectivity for long-lived network connections over the internet are not always reliable and will tend to stall or hang occasionally, beyond our control. Additionally, we can occasionally have internal network connections that might disrupt communications between our Firehose server and the internal messaging bus that might also cause this type of condition. Very long-lived Firehose connections do eventually need to be disconnected by our server-side (system updates, feed maintenance, resource leaks), but that condition should result in a "connection closed by peer" rather than a "series of end of lines". Be sure that your application has logic to handle the condition of the connection being actively closed by the server.
  • Keeping a persistent connection open is the expected use-case. We also recommend disconnecting and reconnecting if you receive no data after an extended period of time. When reconnecting, using the "pitr" command to resume data from the timestamp that you last received is recommended.
  • The maximum number of allowable connections for Firehose is three per user account. One connection is suggested for your production environment and one connection for your development environment. Additional connection licenses are available.

로그인

계정을 가지고 계십니까? 사용자 정의된 기능, 비행 경보 및 더 많은 정보를 위해 지금(무료) 등록하세요!
FlightAware 항공편 추적이 광고로 지원된다는 것을 알고 계셨습니까?
FlightAware.com의 광고를 허용하면 FlightAware를 무료로 유지할 수 있습니다. Flightaware에서는 훌륭한 경험을 제공할 수 있도록 관련성있고 방해되지 않는 광고를 유지하기 위해 열심히 노력하고 있습니다. FlightAware에서 간단히 광고를 허용 하거나 프리미엄 계정을 고려해 보십시오..
종료