An RDP session executes remotely on a computer that is referred to as the server. All keyboard and mouse operations are done on the server, and it is the server that reacts to input from the keyboard and mouse. For example, when you double-click an application icon on the desktop, it is the server that realizes that a double-click took place, and that the application must be loaded.
When an RDP client connects to a server, the client does two things:
- It sends the server coordinates of actions. For example, 'clicked the left mouse button at coordinates (100, 100) on the screen'.
- It receives images from the server showing the current status of the screen after the action took place.
The RDP client (and therefore, the Vuser) does not know that the remote screen contains windows, buttons, icons, and other objects. It knows only that the screen contains an image and at what coordinates the user performed an action. To allow the server to correctly interpret an action, you set a synchronization point within the script. When you replay the script, the synchronization point instructs the Vuser to wait until the image on the server screen matches the corresponding image stored as part of the synchronization point.