Этот вопрос относится к Программирование сокетов на C и Спящий рабочий поток на файловом сервере .
Я очень новичок в сокетах, а также в pthreadsи мне приходится иметь дело с довольно большим проектом.
Я хотел бы знать, возможен ли сценарий, приведенный ниже, и как?У меня есть несколько клиентов на сервер, и каждый клиент отправляет несколько сообщений на сервер. Каждый клиент обслуживается заданием / рабочим потоком.Клиент отправляет сообщение, а после получения ответа отправляет следующее сообщение до его завершения и закрывает соединение.Поток задач обрабатывает один запрос от клиента, отправляет свой ответ и спит до тех пор, пока не получит следующее сообщение от того же клиента, пока клиент не закроет соединение и поток не завершится.
Теперь, как я уже говорил, несколько клиентов подключаютсяв то же время.Будет ли сервер обрабатывать все сообщения от одного клиента, а затем обслуживать следующего или получать сообщения с перехватом по мере поступления, сохраняя соединения всех «живых» клиентов открытыми.