Узнал о вызову senfile(), прочитал про него на man(https://www.opennet.ru/man.shtml?topic=sendfile&category=2&russian=0). Но так и не могу понять, как им пользоваться и что в него передавать. Если брать в качестве примера сервер, то первым аргументом будет серверный сокет, вторым клиентский, а 3 и 4?
как им можно заменить способ, где везде используются send и write? Вот пример :
if ( (fd=open(path, O_RDONLY))!=-1 ) //FILE FOUND
{
static const char hdr[]=
"HTTP/1.0 200 OK\r\n"
"Connection: keep-alive\r\n"
"Keep-Alive: timeout=5, max=1000\r\n";
send(clients[n], hdr , sizeof(hdr)-1, 0);
size_t f_sz = fd_size(fd);
printf("%lu\n",f_sz);
sprintf (data_to_send, "Content-length: %lu\r\n", f_sz);
write (clients[n], data_to_send, strlen(data_to_send));
send(clients[n], "\r\n" , 2, 0);
while ( (bytes_read=read(fd, data_to_send, BYTES))>0 )
{
write (clients[n], data_to_send, bytes_read);
}
}
#include <sys/sendfile.h>
ssize_t sendfile( int out_fd,
int in_fd,
off_t *offset,
size_t count)
первый аргумент - дескриптор открытый для записи (туда пишем),
второй - дескриптор для чтения (оттуда читаем),
третий - смещение откуда нужно начать читать
четвертый - количество данных для передачи.
[источник](man 2 sendfile)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть кодВычисление среднего значения вектора (отрицательные элементы)
Я делаю игру, и мне нужно, чтобы один игровой объект не накладывался на другойЕсть ли функция в SDL, позволяющая определить пересечение поверхностей...
QtCreator поддерживает разработку диаграмм конечных автоматов и UML-диаграммНо я никак не могу найти информацию, можно ли эти диаграммы использовать...