Форум программистов, компьютерный форум CyberForum.ru

Посылка файла через sendto(...) - C++

Восстановить пароль Регистрация
 
Pumych
0 / 0 / 0
Регистрация: 12.08.2010
Сообщений: 20
24.08.2010, 17:12     Посылка файла через sendto(...) #1
Через протокол UDP. Нужно открывать файл для чтения и указатель на него передавать в sendto?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2010, 17:12     Посылка файла через sendto(...)
Посмотрите здесь:

Передача файла через COM port C++
C++ считать с файла через ентер
C++ Посылка сообщения активному окну.
Открытие файла через ехешник C++
C++ Запуск файла через cmd
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
25.08.2010, 03:27     Посылка файла через sendto(...) #2
нет, нужно читать из файла в буфер, а потом буфер посылать
поначалу можно сделать чтение символа и посылку символа, но это затратно, так как sendto() - системный вызов

C
1
2
3
4
5
6
7
8
9
    int c;
 
    ...
 
    while ((c = getc(ifp)) != EOF)
        if (send(sockd, (char *) &c, 1, 0) < 0) {
            fprintf(stderr, "error" "\n");
            break;
        }
с буфером сложнее, так как файл может закончиться на последней порции, считанной в буфер, но её тоже нужно отправить
при этом, её может и не быть, так как в редких случаях, размер файла может быть кратен буферу
то есть требуется как допольнительная отправка, так и проверка перед этой допольнительной отправкой, нужно ли там отправлять
fasked
25.08.2010, 07:26
  #3

Не по теме:

Цитата Сообщение от Pumych Посмотреть сообщение
Нужно открывать файл для чтения и указатель на него передавать в sendto?
высокоуровневое мышление

accept
25.08.2010, 08:49
  #4

Не по теме:

да, похоже на php, но это php делали похожим на C, а не наоборот

Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
25.08.2010, 13:22     Посылка файла через sendto(...) #5
А UDP пакеты могут не прийти, прийти по несколько раз или прийти не в том порядке, в котором отправляли, так что надо бы ещё номер куска файла или что-то такое отправлять.
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
25.08.2010, 17:22     Посылка файла через sendto(...) #6
Цитата Сообщение от Somebody Посмотреть сообщение
А UDP пакеты могут не прийти, прийти по несколько раз или прийти не в том порядке, в котором отправляли, так что надо бы ещё номер куска файла или что-то такое отправлять.
Тогда проще использовать TCP.
Yandex
Объявления
25.08.2010, 17:22     Посылка файла через sendto(...)
Ответ Создать тему
Опции темы

Текущее время: 10:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru