TCP Client Access and Data Flow
Use a real TCP device GUI to complete access, uplink, client detail statistics, platform downlink delivery, device receipt, disconnect/reconnect, and cleanup.
Page Guide
How to Read
Confirm the entry point, permissions, and target object first, then complete the operations in numbered order. Each step includes the expected result; detailed fields and options are collected in expandable reference tables.
Screenshot Notes
The screenshots come from the original operations manual. The public edition hides real node addresses, connection addresses, and credentials; the statuses, times, and data in the examples do not represent the current production environment.
Before You Start
| Item | Description |
|---|---|
| What you can do | Complete device access, uplink, client detail statistics, platform downlink delivery, device receipt, disconnect/reconnect, and cleanup by protocol. |
| Where to enter | After logging in to the FMQ console, go to Devices → Clients. |
| Required permissions | Client viewing and test command permissions. |
| Estimated time | 45 minutes |
Procedure
1. Open the TCP Clients Page
Location: Devices → Clients
After logging in, go to Devices → Clients, click the protocol filter, and use the search box to locate this device session.

Figure: ① The protocol filter and search are used to locate the current device; ② the list shows protocol, status, node, remote address, last active, and operation entries.
Field Descriptions
| Field / Control | Description |
|---|---|
| Client List | View MQTT, TCP, and UDP client sessions in one place; use filters and search to locate the device first. |
2. Locate the Target TCP Session
Location: Devices → Clients
Enter the device Client ID in the search box, confirm the online row, then click Trace or click the row directly to open the details.

Figure: ① Client ID is the locating key for a single device; ② judge whether the session is still working by combining online status with the last active time.
Field Descriptions
| Field / Control | Description |
|---|---|
| Client ID | The device's unique identifier, used to pinpoint a single device. |
| Protocol | The MQTT, TCP, or UDP protocol used by the device for access. |
| Status | Whether the current session is online, offline, or in another running state. |
| Node | The cluster server node the device currently belongs to. |
| Remote Address | The address and port the device uses to connect to the platform. |
| Heartbeat Time | The device's most recent heartbeat or keep-alive time. |
| Session Mode | The connection mode currently used by the session. |
| Subscription Count | The number of topics the MQTT session currently subscribes to. |
| Last Active | The most recent time data was sent or received. |
| Last Offline | The most recent offline time and reason. |
3. TCP List Operation Area
Location: Devices → Clients
On the target row, find the Trace, View Subscriptions, and Disconnect operations; click Trace first to enable collection for the current session.

Figure: ① Trace enables collection for the current session; ② MQTT allows viewing subscriptions; ③ Disconnect changes the device's running state.
Field Descriptions
| Field / Control | Description |
|---|---|
| Search | Narrow results by clientId, sessionId, remote address, or node. |
| Node Filter | View only sessions on a specified cluster node. |
| Protocol Filter | View only MQTT, TCP, or UDP sessions. |
| Status Filter | Filter by online or offline status. |
| Refresh List | Re-read the current runtime sessions. |
| Pagination | Browse more session records. |
| Trace | Enable detail collection for the current session. |
| View Subscriptions | Open the MQTT topic subscription details. |
| Disconnect | Actively end the device session and generate an offline record. |
4. Open TCP Details and Enable Collection
Location: Devices → Clients
Open the client details and confirm tracing is enabled; first read Connection Status, Node, Established Time, Subscription Count, and Last Active in the overview.

Figure: ① The overview confirms status and node; ② Established Time and Last Active are used to judge whether the session keeps working.
Field Descriptions
| Field / Control | Description |
|---|---|
| Connection Status | Whether the current device connection is valid. |
| Node | The cluster node where the session resides. |
| Established Time | When this session was established. |
| Last Active | The most recent activity time. |
| Bytes Written | Cumulative bytes sent from the platform to the device. |
| Bytes Read | Cumulative bytes read by the platform from the device. |
| Messages Written | Number of messages sent from the platform to the device. |
| Messages Read | Number of messages read by the platform from the device. |
| Dropped/Failed | Number of messages dropped or failed to send. |
| Subscription Count | Current number of subscriptions. |
| Average Latency | Average message processing time; shown only when provided by the page. |
5. View Subscribed Topics for TCP
Location: Devices → Clients
Open the Subscribed Topics tab and check Topic, QoS, Node, NL, RAP, and RH; TCP/UDP records the not-applicable status given by the page.

Figure: ① Topic is the topic from which the device receives downlink messages; ② QoS indicates the quality of service level; ③ Node, NL, RAP, and RH are used to check subscription attributes.
Field Descriptions
| Field / Control | Description |
|---|---|
| Topic | The topic address from which the device receives downlink messages. |
| QoS | The topic's quality of service level. |
| Node | The runtime node the subscription belongs to. |
| NL | Whether local publish loopback is disabled. |
| RAP | Whether the original publish flag is preserved. |
| RH | Retained message handling policy. |
6. TCP Device GUI Sends Uplink Data
Location: LinkPilot device protocol debugging workbench
In LinkPilot's real protocol workbench, keep the session connected and send a valid JSON uplink packet containing the device identity and a temperature value.

Figure: ① LinkPilot shows the session connected; ② the communication timeline records this device uplink frame; ③ the protocol ports are MQTT 1883, TCP 8888, or UDP 8889.
7. View Recent Messages for TCP
Location: Devices → Clients
Open the Recent Messages tab, use the JSON, raw text, or HEX view format, and check uplink/downlink, time, topic or address, message ID, size, and payload.

Figure: ① Uplink records prove the message has entered the client details; ② JSON/raw text/HEX are used to read by protocol content; ③ time, direction, and message ID are used to correlate device actions.
Field Descriptions
| Field / Control | Description |
|---|---|
| Display Format | JSON, raw text, or HEX reading mode. |
| Uplink/Downlink | Distinguishes device reporting from platform delivery. |
| Time | When the message entered the detail records. |
| Topic/Address | The source topic or network address of the message. |
| Message ID | A unique identifier associated with one packet. |
| Payload Format | The encoding type of the raw packet. |
| Payload Size | The number of bytes occupied by the packet. |
| Field Recognition | JSON object and a summary of its fields. |
8. View Message Flow for TCP
Location: Devices → Clients
Open the Message Flow tab, read how a real uplink message is processed from protocol access, event bus, Alink assembly, and rule processing to connector reporting, and expand the processing timeline.

Figure: ① Source Topic/Address represents the device uplink entry; ② the intermediate process shows the platform's internal processing chain; ③ connector success means the message has entered the configured reporting egress.
Field Descriptions
| Field / Control | Description |
|---|---|
| Source Topic/Address | Where the device uplink enters the platform. |
| Direction | Uplink or downlink direction. |
| Processing Node | Event bus and protocol processing locations. |
| Alink Message | The business message assembled uniformly by the platform. |
| Rule Processing | Whether a rule matched and executed an action. |
| Connector | The reporting egress such as RabbitMQ/Kafka. |
| Process | Expandable timeline from access to reporting. |
9. View Recent Exceptions for TCP
Location: Devices → Clients
Open the Recent Exceptions tab and view connection, parsing, routing, delivery, or timeout exceptions by time; when there are no records, confirm the page's empty state.

Figure: ① Time is used to correspond with device actions; ② type and message help judge connection, parsing, or processing problems; ③ an empty state means the current session has no exceptions recorded in details.
Field Descriptions
| Field / Control | Description |
|---|---|
| Exception Time | When the exception occurred, used for comparison against device actions. |
| Exception Type | Categories such as connection, parsing, routing, delivery, or timeout. |
| Exception Message | The specific exception information recorded by the platform. |
| Empty State | When there are no records, the current session has produced no detail exceptions. |
10. Fill In the Send Test Command for TCP
Location: Devices → Clients
On the Send Test Command page, select the Payload Type; for MQTT, fill in Topic, QoS, and Retain, while TCP/UDP use the current session target; click Format to confirm the message body before sending.

Figure: ① Topic determines the MQTT downlink topic; ② QoS 0/1/2 indicate different quality of service levels; ③ Retain controls whether the message is retained; ④ JSON/raw text/HEX determine how the payload is interpreted.
Field Descriptions
| Field / Control | Description |
|---|---|
| Topic | MQTT downlink topic; TCP/UDP use the current session target. |
| QoS | Select quality of service level 0, 1, or 2. |
| Retain | Controls whether the message is retained. |
| Payload Type | Select JSON, raw text, or HEX. |
| Format | Format the JSON message body into a readable structure. |
| Message Body | Enter the content to send to the device. |
| Send Test Command | Submit the platform downlink and wait for actual receipt on the device GUI. |
11. Platform Delivers a Command to the TCP Device and Confirms Actual Receipt
Location: LinkPilot device protocol debugging workbench
On the Send Test Command page, fill in the JSON payload; for MQTT, select Topic, QoS, and Retain, while TCP/UDP use the current session target; click Send Test Command. Then return to the LinkPilot GUI to view the downlink frame actually received by the device.

Figure: ① The LinkPilot timeline shows the platform downlink actually reaching the device; ② MQTT downlink uses the 1883 connection and subscribed topic; ③ TCP/UDP show the raw bytes received by the session.
12. Disconnect the TCP Device and Observe Offline Status
Location: LinkPilot device protocol debugging workbench
Actively disconnect the session in the LinkPilot GUI, return to the FMQ client list, refresh, and view the offline status, last offline time, and reason.

Figure: ① The session status changes to disconnected; ② the disconnect action leaves a record in the real GUI's interaction timeline.
13. View Recent Offline Records for TCP
Location: Devices → Clients
Check the offline time and reason on the Recent Offline Records tab in the client details or in the list's empty state; after this disconnection, at least confirm that the platform no longer shows an online session.

Figure: ① The offline time is used to judge when the disconnection happened; ② the reason distinguishes manual operation, timeout, and connection closure; ③ a service restart clears the recent in-memory records.
Field Descriptions
| Field / Control | Description |
|---|---|
| Offline Time | When the session went offline. |
| Offline Reason | Reasons such as manual disconnection, heartbeat timeout, channel closure, session replacement, or UDP timeout. |
| Last 10 Records | The page keeps at most the ten most recent in-memory records. |
| Cleared on Restart | These records are cleared after a service restart. |
14. Reconnect the TCP Device and Confirm Recovery
Location: LinkPilot device protocol debugging workbench
Perform the reconnect action in the LinkPilot GUI, return to the platform, refresh the client details, and confirm that the online status and last active time update again.

Figure: ① After reconnection the GUI shows connected; ② the connection information retains the current protocol port 8888.
15. Clean Up the Temporary TCP Session
Location: Devices → Clients
Delete the LinkPilot temporary session, return to the FMQ client list, search by Client ID, refresh, and confirm the current filter result is empty.

Figure: ① Refresh the list; ② the current Client ID no longer appears, which means the temporary session has been cleaned up.
Client Page Field Reference
The following explains page fields in the reading order of the client list and detail tabs; areas not applicable to a protocol are explicitly marked, and technical logs are not treated as page fields.
Full Reference
| Field / Unit | Plain Meaning | Data Direction / Source | Normal Check | Abnormal Signals and First Checkpoint |
|---|---|---|---|---|
| Client List Purpose | ||||
| Client List (page field) | View MQTT, TCP, and UDP client sessions in one place; use filters and search to locate the device first. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Client List Key Fields | ||||
| Client ID (page field) | The device's unique identifier, used to pinpoint a single device. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Protocol (page field) | The MQTT, TCP, or UDP protocol used by the device for access. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Status (page field) | Whether the current session is online, offline, or in another running state. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Node (page field) | The cluster server node the device currently belongs to. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Remote Address (page field) | The address and port the device uses to connect to the platform. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Heartbeat Time (page field) | The device's most recent heartbeat or keep-alive time. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Session Mode (page field) | The connection mode currently used by the session. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Subscription Count (page field) | The number of topics the MQTT session currently subscribes to. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Last Active (page field) | The most recent time data was sent or received. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Last Offline (page field) | The most recent offline time and reason. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Client List Operations | ||||
| Search (page field) | Narrow results by clientId, sessionId, remote address, or node. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Node Filter (page field) | View only sessions on a specified cluster node. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Protocol Filter (page field) | View only MQTT, TCP, or UDP sessions. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Status Filter (page field) | Filter by online or offline status. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Refresh List (page field) | Re-read the current runtime sessions. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Pagination (page field) | Browse more session records. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Trace (page field) | Enable detail collection for the current session. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| View Subscriptions (page field) | Open the MQTT topic subscription details. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Disconnect (page field) | Actively end the device session and generate an offline record. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Trace Details Overview | ||||
| Connection Status (page field) | Whether the current device connection is valid. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Node (page field) | The cluster node where the session resides. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Established Time (page field) | When this session was established. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Last Active (page field) | The most recent activity time. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Bytes Written (page field) | Cumulative bytes sent from the platform to the device. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Bytes Read (page field) | Cumulative bytes read by the platform from the device. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Messages Written (page field) | Number of messages sent from the platform to the device. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Messages Read (page field) | Number of messages read by the platform from the device. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Dropped/Failed (page field) | Number of messages dropped or failed to send. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Subscription Count (page field) | Current number of subscriptions. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Average Latency (page field) | Average message processing time; shown only when provided by the page. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Subscribed Topics | ||||
| Topic (page field) | The topic address from which the device receives downlink messages. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| QoS (page field) | The topic's quality of service level. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Node (page field) | The runtime node the subscription belongs to. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| NL (page field) | Whether local publish loopback is disabled. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| RAP (page field) | Whether the original publish flag is preserved. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| RH (page field) | Retained message handling policy. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Recent Messages | ||||
| Display Format (page field) | JSON, raw text, or HEX reading mode. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Uplink/Downlink (page field) | Distinguishes device reporting from platform delivery. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Time (page field) | When the message entered the detail records. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Topic/Address (page field) | The source topic or network address of the message. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Message ID (page field) | A unique identifier associated with one packet. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Payload Format (page field) | The encoding type of the raw packet. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Payload Size (page field) | The number of bytes occupied by the packet. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Field Recognition (page field) | JSON object and a summary of its fields. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Message Flow | ||||
| Source Topic/Address (page field) | Where the device uplink enters the platform. | Device ↔ FMQ ↔ Upstream | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Direction (page field) | Uplink or downlink direction. | Device ↔ FMQ ↔ Upstream | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Processing Node (page field) | Event bus and protocol processing locations. | Device ↔ FMQ ↔ Upstream | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Alink Message (page field) | The business message assembled uniformly by the platform. | Device ↔ FMQ ↔ Upstream | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Rule Processing (page field) | Whether a rule matched and executed an action. | Device ↔ FMQ ↔ Upstream | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Connector (page field) | The reporting egress such as RabbitMQ/Kafka. | Device ↔ FMQ ↔ Upstream | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Process (page field) | Expandable timeline from access to reporting. | Device ↔ FMQ ↔ Upstream | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Send Test Command | ||||
| Topic (page field) | MQTT downlink topic; TCP/UDP use the current session target. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| QoS (page field) | Select quality of service level 0, 1, or 2. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Retain (page field) | Controls whether the message is retained. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Payload Type (page field) | Select JSON, raw text, or HEX. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Format (page field) | Format the JSON message body into a readable structure. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Message Body (page field) | Enter the content to send to the device. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Send Test Command (page field) | Submit the platform downlink and wait for actual receipt on the device GUI. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Recent Exceptions | ||||
| Exception Time (page field) | When the exception occurred, used for comparison against device actions. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Exception Type (page field) | Categories such as connection, parsing, routing, delivery, or timeout. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Exception Message (page field) | The specific exception information recorded by the platform. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Empty State (page field) | When there are no records, the current session has produced no detail exceptions. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Recent Offline Records | ||||
| Offline Time (page field) | When the session went offline. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Offline Reason (page field) | Reasons such as manual disconnection, heartbeat timeout, channel closure, session replacement, or UDP timeout. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Last 10 Records (page field) | The page keeps at most the ten most recent in-memory records. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
| Cleared on Restart (page field) | These records are cleared after a service restart. | FMQ TCP Clients page | The field is readable on the real page and consistent with the current session identity. | The field is missing, stops updating, or is inconsistent with device actions. First checkpoint: refresh the details and return to the corresponding tab to check session status, protocol port, and device GUI. |
Client List and Details
Full Reference
| Field/Control | Purpose | Default/Recommended/Example | Option Details | Effect and Impact | Effective Conditions |
|---|---|---|---|---|---|
| Required Client Search | Filter the list by client ID, session ID, remote address, or node. | Default: empty; Recommended: enter the target Client ID; Example: fill in according to the current environment | N/A | Narrow the list scope to locate the target device. | Scope: current page filter; Publish: not required · Restart: not required · Reconnect: not required |
| Required Node Filter | Filter sessions by FMQ cluster node. | Default: all nodes; Recommended: select by the node in details; Example: current node | All nodes: do not restrict the runtime node; find the target among client sessions on all nodes. Current node: view only the node the console is currently connected to; narrows the result scope for checking node attribution. | Show only clients on the specified node. | Scope: current page filter; Publish: not required · Restart: not required · Reconnect: not required |
| Required Refresh List | Re-read the current runtime client list. | Default: —; Recommended: refresh after status changes; Example: refresh list | N/A | Show the latest online status, node, and activity time. | Scope: current page data; Publish: not required · Restart: not required · Reconnect: not required |
| Required Protocol Filter | Select the MQTT, TCP, or UDP client protocol. | Default: All; Recommended: TCP; Example: TCP | N/A | Show only sessions of the selected protocol. | Scope: current page filter; Publish: not required · Restart: not required · Reconnect: not required |
| Required Status Filter | Filter sessions by online or offline status. | Default: All; Recommended: Online; Example: Online | N/A | Quickly confirm whether a device is still online. | Scope: current page filter; Publish: not required · Restart: not required · Reconnect: not required |
| Required Pagination | Switch between multiple pages of client results. | Default: page 1; Recommended: page through results; Example: next page | N/A | View other sessions under the current filter conditions. | Scope: current page data; Publish: not required · Restart: not required · Reconnect: not required |
| Required Trace | Enable device-level tracing, recent messages, and message flow collection for the current client. | Default: off; Recommended: enable before opening details; Example: trace | N/A | The details page starts showing send/receive statistics, payload, and the processing chain. | Scope: current client session; Publish: not required · Restart: not required · Reconnect: not required |
| Required Open Details | Open the target client details drawer. | Default: —; Recommended: open after confirming the target row; Example: open details | N/A | View overview, subscriptions, messages, flow, delivery, exceptions, and offline records. | Scope: current page; Publish: not required · Restart: not required · Reconnect: not required |
| Required Disconnect | Actively close the current client's runtime session. | Default: —; Recommended: use only during recovery or cleanup; Example: disconnect | N/A | The device goes offline and an offline record is generated. | Scope: current runtime session; Publish: not required · Restart: not required · Reconnect: required |
| Required Refresh Details | Re-read the current client details and trace snapshot. | Default: —; Recommended: refresh after uplink or downlink; Example: refresh details | N/A | Update fields such as bytes, messages, exceptions, and last active. | Scope: current client details; Publish: not required · Restart: not required · Reconnect: not required |
| Required Overview | View connection status and send/receive monitoring metrics. | Default: Overview; Recommended: view first; Example: Overview | N/A | Determine whether the session is established and whether there is uplink/downlink activity. | Scope: current client details; Publish: not required · Restart: not required · Reconnect: not required |
| Required Subscribed Topics | View MQTT subscribed topics with their QoS and attributes. | Default: Subscribed Topics; Recommended: check in MQTT scenarios; Example: Subscribed Topics | N/A | Shows that MQTT subscriptions are not applicable to TCP/UDP. | Scope: current client details; Publish: not required · Restart: not required · Reconnect: not required |
| Required Global Subscriptions Page | Jump to the global subscriptions page. | Default: —; Recommended: use when cross-client queries are needed; Example: Global Subscriptions page | N/A | Extend from a single client's subscriptions to global topic search. | Scope: Global Subscriptions page; Publish: not required · Restart: not required · Reconnect: not required |
| Required Recent Messages | View messages recently received and sent by the current session. | Default: Recent Messages; Recommended: view after device uplink; Example: Recent Messages | N/A | Check real-time direction, time, topic, size, and payload. | Scope: current client details; Publish: not required · Restart: not required · Reconnect: not required |
| Required JSON / Raw / HEX | Switch the message payload display between JSON, raw text, or HEX. | Default: JSON; Recommended: JSON first, HEX when abnormal; Example: HEX | N/A | Read message content by readability or raw byte needs. | Scope: current page display; Publish: not required · Restart: not required · Reconnect: not required |
| Required Message Flow | View how a message is processed through the protocol, event bus, rules, and connectors. | Default: Message Flow; Recommended: view after an uplink message; Example: Message Flow | N/A | Locate at which processing stage a message succeeded or stalled. | Scope: current client details; Publish: not required · Restart: not required · Reconnect: not required |
| Required Send Test Command | Open the platform downlink test command form. | Default: Send Test Command; Recommended: use after confirming the subscription or session target; Example: Send Test Command | N/A | Prepare a verifiable downlink message for the current device. | Scope: current client session; Publish: not required · Restart: not required · Reconnect: not required |
| Required Payload Type | Choose to send the downlink message as JSON, raw text, or HEX. | Default: JSON; Recommended: select by device protocol; Example: JSON | N/A | Determines how the platform validates and encodes the message body. | Scope: current downlink request; Publish: not required · Restart: not required · Reconnect: not required |
| Required Format | Format the JSON message body. | Default: —; Recommended: click before sending; Example: format JSON | N/A | Organize compact JSON into a readable structure for review. | Scope: current downlink request; Publish: not required · Restart: not required · Reconnect: not required |
| Required Send Test Command | Submit the current downlink test command. | Default: —; Recommended: send after checking parameters; Example: Send Test Command | N/A | The platform sends the message to the target client and waits for actual receipt verification on the device GUI. | Scope: current device session; Publish: not required · Restart: not required · Reconnect: not required |
| Required Recent Exceptions | View exceptions recently recorded for the current client. | Default: Recent Exceptions; Recommended: view when troubleshooting exceptions; Example: Recent Exceptions | N/A | Locate connection, parsing, routing, or timeout problems by time and type. | Scope: current client details; Publish: not required · Restart: not required · Reconnect: not required |
| Required Recent Offline Records | View the current client's recent offline times and reasons. | Default: Recent Offline Records; Recommended: view after disconnect or reconnect; Example: Recent Offline Records | N/A | Determine manual disconnection, timeout, connection closure, or session replacement. | Scope: current client details; Publish: not required · Restart: not required · Reconnect: not required |
| Required Close Details | Close the client details drawer. | Default: —; Recommended: close after finishing checks; Example: close details | N/A | End the current details view; the page stops trace collection for this window. | Scope: current page; Publish: not required · Restart: not required · Reconnect: not required |
FAQ
After a TCP device connects, how do I confirm the data closed loop works end to end?
Keep the TCP session connected in LinkPilot and send a valid JSON uplink packet; verify this uplink in the client details overview and Recent Messages; then send a test command from the platform and confirm in the LinkPilot timeline that the downlink frame actually reached the device.
Does a TCP client also need subscription topics configured?
No. The Subscribed Topics tab is an MQTT capability; TCP/UDP sessions show not applicable on that tab. When the platform delivers to a TCP device, it directly uses the current session target, with no Topic to fill in.
How does the FastBee platform deliver commands to a TCP device?
On the Send Test Command page in the client details, select the Payload Type (JSON, raw text, or HEX) and fill in the message body; TCP/UDP use the current session target. After clicking send, return to the device GUI to check actual receipt.
After a TCP device disconnects, how do I determine the offline reason?
Refresh the FMQ client list to view the offline status, and check the offline time and reason on the Recent Offline Records tab in the details; at most the last 10 records are kept, and they are cleared after a service restart.
Production Operation Notice
Screenshots and examples illustrate operation locations and judgment methods; they do not represent current production status. For operations involving publishing, starting/stopping, rebinding, retrying, or deletion, first confirm the target environment, impact scope, and recovery plan, and have authorized personnel perform them.
FastBee · FMQ Operations Manual

