Ответ на ваш вопрос очень сильно зависит от того, как вы определяете client1 to clientN.В частности, как они формируют соединение с сервером.
SOCK_STREAM ориентирован на соединение.Это означает, что ваш сервер создает прослушивающий сокет, привязывается к нему, а затем, когда клиент подключается, сервер принимает соединение и по сути получает новый сокет.
Теперь, если каждый из client1 to clientN будет выполнять отдельное соединениена сервере в основном будет N разных сокетов. В этом случае ответ на ваши вопросы - нет - данные от разных клиентов не будут смешиваться, так как они передаются по разным сокетам.
Однако, если у вас естьВ таком случае, когда у вас есть отец-клиент, который открывает соединение и этот сокет совместно используется клиентами от 1 до n (скажем, в разных потоках или дочерних процессах), тогда ответ да - записи в конкретный сокет не атомарны, а данныеМожно смешивать.
В качестве дополнительного примечания: если вы используете конвейер Unix, а не сокет домена Unix, вы получите преимущество в том, что записи являются атомарными, даже если разные пишущие в одной и той же трубе не достигают определенного порога (по крайней мере 512 в соответствии с POSIX, Linux на самом деле supпорты 65000 байт)