# Difference RTDE(30004) and RT client(30003)

**URL:** <https://forum.universal-robots.com/t/difference-rtde-30004-and-rt-client-30003/9173>\
**Category:** Robot Communication\
**Created:** [October 20, 2020, 8:55am UTC](https://forum.universal-robots.com/t/difference-rtde-30004-and-rt-client-30003/9173 "2020-10-20T08:55:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon58711801](https://avatars.discourse-cdn.com/v4/letter/a/f17d59/32.png) [@anon58711801](https://forum.universal-robots.com/u/anon58711801)\
**Post date:** [October 20, 2020, 8:55am UTC](https://forum.universal-robots.com/t/difference-rtde-30004-and-rt-client-30003/9173/1 "2020-10-20T08:55:48Z")

</div>

Hi,

I’m currently looking at two communication methods to externally control a UR5e.

1. Sending URscipt commands from the PC and receive data, both via the real-time interface(port 30003).

2. Use the RTDE interface(port 30004) for communication with the external device(PC).

I feel that the second option is a more elegant solution to externally control the robot however, I have trouble understanding the fundamental difference between the rtde interface and the rt interface(30003).

In the REAL-TIME DATA EXCHANGE (RTDE) GUIDE ([Real-Time Data Exchange (RTDE) Guide - 22229](https://www.universal-robots.com/articles/ur/real-time-data-exchange-rtde-guide/) ): “The Real-Time Data Exchange (RTDE) interface provides a way to synchronize external applications with the UR controller over a standard TCP/IP connection, without breaking any real-time properties of the UR controller.”

My guess is that with the rtde interface the external application is real-time synchronized, as in the case of the rt(30003) the external application is not rt synchronized. However, I am not sure whether this is the fundamental difference. Could anyone explain the main difference between these two options?

Regards Niek
