Код: Выделить всё
adm_listener = socket( AF_LOCAL, SOCK_STREAM, 0 );
unlink(adm_socket_path);
bzero( &adm_addr, sizeof( adm_addr ) );
adm_addr.sun_family = AF_LOCAL;
strcpy( adm_addr.sun_path, adm_socket_path);
bind( adm_listener, ( struct sockaddr* ) &adm_addr, sizeof( adm_addr ) );
listen( adm_listener, 10 );
....
select()
...
if (curr_sock==listener) { accept() }
...
else
{
int x=0;
while (x<10)
{
... //Заполняем buf
write(i, buf, strlen(buf));
printf("%i\n", strlen(buf));
}
}Так вот, проблема в том, что на клиент приходит не 9 сообщений, а одно, содержащее все данные. Если данных больше чем buf, то сообщениее обрезается.