Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Лаба - тестироние скорости передачи данных, между серверами на разных концах планеты 
:(
    Опции темы
neosapient
  Дата 30.6.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Лаба - тестироние скорости передачи данных между серверами на разных концах планеты
Веселая постановка задачи.  smile 

Представьте, сервак в Австралии и сервак в Англии.
Надо сотворить механизмы быстрой передачи данных, сбора статистики и т.п.

Но так как покупать серваки не хочется, появилась идея использовать web-сервера, что раздаются под хостинги сайтов.
Внимание, первый вопрос: как можно запустить на web-сервере мою прогу?
Со скриптами на других языках связывать не хочу.
Что то слышал про cgi, вроде можно написать его на С/С++, или вызывать мою прогу из этого файла.
Вообще, пишут же люди сайты на С\С++, ставят свои проги на хосты и получают сайты. А мне надо сокеты пару раз запустить, без вывода странички по http протоколу и других хитростей

Принимаю любые идеи...

Это сообщение отредактировал(а) neosapient - 30.6.2007, 15:21
PM MAIL   Вверх
jonie
Дата 30.6.2007, 16:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



Цитата

Внимание, первый вопрос: как можно запустить на web-сервере мою прогу?
веб сервер - это спец программулина обычно висящая на 80-ом порту (HTTP) и отдающие данные клиентам что коннектятся к нему. Сама она толком ничего не умеет 8) Есть cgi-bin разве что...вот его  и используй 8) /*хотя имхо это изврат для данной задачи */ а использовать его просто... веб сервак сам запустит такую программу (из спец директории обычно) , перенаправит вывод ее в поток потенциальнму браузеру, установит переменные среды какие надо...
т.е.
банально 
Код

int main(){cout<<"Content-Type: text/html\n\n<h1>HELLO</h1>";return 0;}

вполне работоспособная програмка..и браузер обычный ее результаты отобразит у себя.
Код

Надо сотворить механизмы быстрой передачи данных, сбора статистики и т.п.
вообще есть утилиты лдя *n?x систем...
Код

Надо сотворить механизмы быстрой передачи данных
...разве что искривляя пространство...
---
вообще проще это делается имхо. Берешь и качаешь самопальным клиентом файл с серака и засекаешь время.. а дальше математика ...ибо конфигурирование канала тебе врядли кто-то даст не на своем серваке.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
neosapient
  Дата 30.6.2007, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



хороший ответ

но мы не ищем легких путей   smile 

мне нужна отправка и прием сообщений


как я понял, cgi-bin это скомпелированый код
Код

int main(){cout<<"Content-Type: text/html\n\n<h1>HELLO</h1>";return 0;}

как скомпилировать данный текст в то, что будет хавать web-сервер?
где и как запустить полученый код?
как проверить, что получен правильный результат?
пожалуйста по шагам.
PM MAIL   Вверх
jonie
Дата 30.6.2007, 20:15 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



Цитата

как скомпилировать данный текст в то, что будет хавать web-сервер?
смотря на чем сервер. Если винда - то получай exe, nix- ихними компиляторам (коннектись через shell и компиль на серваке).
Цитата

где и как запустить полученый код?
его запустит веб сервер у себя по запрос типа http://blablabla/cgi-bin/myprogram.exe (сервак виндовый и соотв. настроенный).
Цитата

как проверить, что получен правильный результат?
обратиться по адреску браузером хотябы.
---
еще раз: при обращении по адресу сервер запустит программу(есссно она должно быть у него), и вывод ее на STDOUT (а, возможно и на STDERR,STDLOG) отдаст клиенту (например браузеру).
Цитата

мне нужна отправка и прием сообщений
читай протокол HTTP. есть там и прием ...через POST или GET. Соотв. если это POST - тогда данные доступны будет через переменную среды, иначе - через параметры запуска...
-------
и вообще прочитай про cgi-bin -то ...

Это сообщение отредактировал(а) jonie - 30.6.2007, 20:15


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
nerezus
  Дата 1.7.2007, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Мне кажется, что просто его надо ткнуть носом в документ, где все подробно расписано.

Вот: http://www.intuit.ru/department/internet/cgi/


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
neosapient
Дата 1.7.2007, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

просто его надо ткнуть носом в документ

угу, это полезно


А теперь как настроить компиляцию в VC7?
По тому как указано в источнике, речь идет о unix (очевидно gcc).
Код

Программа на С — это текстовый файл, из которого программа-компилятор создает исполняемый файл. CGI-скрипт — это исполняемый файл. Для компиляции используется компилятор с языка С. В большинстве Unix-платформ этот компилятор носит название cc.

Предположим, что нужно создать программу с именем hello.cgi. Код на С расположен в файле hello.c. В этом случае достаточно выполнить:

bash%cc -o hello.cgi hello.cОпция "-о" в этой записи определяет имя исполняемого файла. Он задается сразу вслед за ней. Имя файла исходного текста С указывается просто в качестве параметра.

Если в скрипте использовать функции из внешней библиотеки, то компилятору необходимо указать ее адрес:

bash%cc -o test.cgi test.c -lpqВ данном случае мы используем внешнюю библиотеку pq. Опция -l определяет имя библиотеки. Сама процедура сборки программы называется linking (связывание). Отсюда и буква "l" перед именем библиотеки.



Это сообщение отредактировал(а) neosapient - 1.7.2007, 16:12
PM MAIL   Вверх
nerezus
  Дата 1.7.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Цитата

А теперь как настроить компиляцию в VC7?
 Ты им хоть раз пользовался? Зелененький треугольничек в верхней панели для компиляции. Тип проекта - консольное приложение.
Все нереально очевидно и логично  smile 


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
neosapient
Дата 1.7.2007, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



Цитата

Ты им хоть раз пользовался?

Не буду врать, да  smile 

Цитата

Зелененький треугольничек 

Хм, а у меня синий  smile 


-----------------
Цитата

А теперь как настроить компиляцию в VC7?


я пишу в VC7 и могу создать *.exe, *.dll, *.lib
а как скомпилировать *.cgi
PM MAIL   Вверх
jonie
Дата 1.7.2007, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



Цитата

я пишу в VC7 и могу создать *.exe, *.dll, *.lib
а как скомпилировать *.cgi
для винды это будет exe консольный.
Еще можем ткнуть чем *n?x системы отличаются от виндовых в плане помечания что файл является выполняемым....


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
nerezus
  Дата 1.7.2007, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



neosapient, да какая разница, ккое имя у файла!
Да хоть file.pelotka
Поэтому делай exe =)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
neosapient
Дата 2.7.2007, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 16.8.2006

Репутация: нет
Всего: 4



понял,
я просто думал, что у *.exe и *.cgi разная внутренняя структура, а это обычный исполняемый код
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0840 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.