¿Sabes qué es un socket?
Si no lo entiendes, te sugiero que lo entiendas. Es todo conocimiento que necesitas dominar.
Le describiré el proceso
El servidor primero inicializa el Socket, vincula el puerto, escucha el puerto, llama a aceptar para bloquear y espera a que el cliente se conecte.
El cliente inicializa un Socket y luego se conecta al servidor. Si la conexión es exitosa, se establece la conexión entre el cliente y el servidor. El cliente envía una solicitud de datos, el servidor recibe la solicitud y la procesa, luego envía los datos de respuesta al cliente, el cliente lee los datos y finalmente cierra la conexión y finaliza la interacción.
De hecho, hay muchos recursos en línea y te será de gran ayuda para aprender más y hacer más para lograr tu propio progreso.