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

Передача файлов с Apache сервера к C++ клиенту - C++

Восстановить пароль Регистрация
 
Профан
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 49
29.05.2012, 11:31     Передача файлов с Apache сервера к C++ клиенту #1
Как возможно (или это вообще возможно?) реализовать подключение к готовому Apache серверу из внешнего компьютера по средствам С++ и дальнейшей работе с сервером (получение списка файлов из каталога, передача файлов на компьютер)

Нашел только CGI и FastCGI но все равно сомневаюсь о возможности выполнение передачи.
Может можно как то через xml.

Прошу дать дельный совет где лучше копать
Буду рад ссылки на книгу или статью
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
30.05.2012, 08:24     Передача файлов с Apache сервера к C++ клиенту #2
Цитата Сообщение от Профан Посмотреть сообщение
CGI
Он самый и должен помочь.

Значит, как происходит процесс.
1) Пишете программу на С++, причем соблюдая некоторые правила. Первое, что нужно усвоить: стандартный поток ввода\вывода теперь не экран, а вэб-страница, которую получает юзер. То есть, если вы напишете
C++
1
2
3
//smth
cout << "Hello world" << endl;
//smth
То браузеру юзера передасться строка Hello world. Второе что нужно усвоить, это то, что сначала мы должны передать так называемый Content-Type, но никак не какой нибудь не Hello world. Короче для простоты напишу вполне рабочий cgi-скрипт.

C++
1
2
3
4
5
6
7
8
9
10
11
12
//Программа, которая возвращает случайное число от 0-99
#include <iostream>
#include <cstdlib>
 
int main()
{
    cout << "Content-Type: text/html\n\n";  //Две пустые строки после контент-тайпа тоже нужны
    srand(time(NULL));
    cout << "Sluchaynoe chislo = ";
    cout << rand() % 100;
    return EXIT_SUCCESS;
}

Компилируешь эту прогу, получаешь exe-file. Изменяешь расширение с exe на cgi.
2) Копируешь этот cgi-file в папку cgi-bin в Apache.
3) Готово, теперь можно получить доступ к странице. Пример URL: www.mysite.ru/cgi-bin/rand.cgi Должно вылезти следующее:
Sluchaynoe chislo = <0-99>
Но это без деталей особо. Если нужно поподробнее информацию, можете почитать H.Deitel P.Deitel четвертое издание, глава 16-ая Web Programming with CGI
Профан
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 49
30.05.2012, 11:57  [ТС]     Передача файлов с Apache сервера к C++ клиенту #3
Огромное спасибо
Мне не нужен какой либо вывод на сайте, нужна передача файлов с помощью ServerSocket
Я тут понял что параллельно с апач должно работать только порт не используемый указать.
Или все таки нужно через cgi делать?
olegod
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 113
24.07.2012, 00:14     Передача файлов с Apache сервера к C++ клиенту #4
Ну а зачем через cgi? Apache тут вообще не при чём, делать через сокеты, например на 87 порту
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
12.08.2012, 17:17     Передача файлов с Apache сервера к C++ клиенту #5
curl...
Yandex
Объявления
12.08.2012, 17:17     Передача файлов с Apache сервера к C++ клиенту
Ответ Создать тему
Опции темы

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