The client and server are connected by communication path called surprise surprise the connector.
This is performed by a low-level C language interface known a Xlib.
Note: X is not restricted to a single language, operating system or user interface.
An X application must only be able to generate and receive messages in a special form, called X protocol messages.
However, the protocol messages are easily accessible as C libraries in Xlib (and others).
Xlib is part of the X system software hierarchy or architecture.
Many applications can be solely written using Xlib.
However in general it will be difficult and time consuming to write complex GUI programs only in Xlib. Many higher level subroutine libraries, called toolkits, have been developed to remedy this problem.