This library provides a consistent interface in conjunction with dpp.cot to interface with a TAK server.
TakClient supports two explicit TAK server transport modes:
TakTransportMode.StreamingXmlTakTransportMode.StreamingProtobuf
StreamingXml sends the traditional XML stream format expected by TAK servers:
- XML declaration
- newline
- CoT
<event>payload
StreamingProtobuf sends TAK protobuf payloads using the streaming envelope from dpp.cot.
When StreamingProtobuf is selected, the client still begins in XML mode as required by the TAK protocol negotiation flow. If the server advertises protobuf support, TakClient sends a t-x-takp-q request, waits for a t-x-takp-r response, and only then switches the active transport to protobuf.
TakClient parses inbound TAK XML stream messages and TAK protobuf streaming frames.
The client exposes:
MessageReceivedfor parsed inbound CoT messagesTransportModeChangedwhen a negotiated connection switches from XML to protobuf
While a protobuf negotiation request is outstanding, application messages are blocked until the server responds.
This library targets dpp.cot 2.0.0.