Сервер не может знать, когда клиент хочет подключиться к нему.Итак, если мы говорим о сокетах, например, в java, клиент может подключиться к серверу, и сервер может отправить сообщение этому клиенту без необходимости отправлять клиенту сообщение на сервер.Вот пример
SERVER:
int port = 3456;
ServerSocket server = new ServerSocket(port);
Socket socket;
socket = server.accept();
socket.getOutputStream().write(10);
CLIENT:
Socket socket = new Socket("server", 3456);
socket.getInputStream().read()
Таким образом, клиент подключается к серверу.Сервер принимает соединение и записывает данные для отправки клиенту.Клиент использует входной поток для чтения этих данных.Таким образом, клиент не может сначала отправить сообщение, но ему нужно только подключиться к серверу.