![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Отдать фал разом будет во многораз быстрее чем отдавать его по частям...
И не спорь... Это - факт. Это сообщение отредактировал(а) Mal Hack - 26.7.2007, 18:23 |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
Я не спорю, ну просто ты ставишь задачу в тупик. Как по твоему можно сейчас это решить?Да можно поискать утилиту под винду. Кстати это твой сервер или просто виртуальный хостинг
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Фишка в том, что нельзя рассматривать вопрос без конкретизации задачи. Естественно, задачи 100% для всех не будет, тем не менее, рассматривать задачу на виндовом хостинге не целесобразно. Это равносильно тому, что ты хочешь купить себе машину, денег в лучшем случае на поддержанный жигуль, а изучаешь каталоги БМВ... Смысл такой же, только мотивация другая.
Решаем способом использования линуксовой утилиты. Уж какие они есть - это я не знаток. netstat вроде бы дает эти данные. Чей сервер? Какой хостинг? |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
Сорри, что ввел в заблуждение, нуна было сразу оговорить эти моменты. И так. Имеем выделеный сервак, на борту ФриБСД, конфигурация: AMD Sempron 3200+, РАМа 1024. Как вариант мона установить и доп софт, но по netstat к сожалению ничего в сети не нашел есть аналоги под Винду и не более.
Если же отдавать файл частями? Каким образом? Просто загнать в цикл и считывать через fgetc последовательно байты? |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Вариант - пишем демона на Си, который "слушает"80 порт и скидывает инфу в файло. Все. Таким образом знает. Главное правильно организовать структуру этого самого файло, чтобы можно было потом скриптом понять что и как.
Я бы еще копнул в сторону Apache, сдается мне, что там что-то должно нам помочь. А вообще, было бы интересно услышать полостью задачу. |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
Хм... жаль что Си незнаю на таком уровне
![]() ![]() |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
Поставь ФТП сервер. Есть один, от правда не помню как называется, но он умеет работать з Мускулом и кажется даже з РНР. Может в нем есть что то для этого. Попробуй в цикле, но большими кусками
|
|||
|
||||
jinn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.10.2006 Репутация: нет Всего: нет |
хм насчет Си данная фича присутствует в 3proxy (www.security.nnov.ru) если есть желание можно покапаться в исходниках или заюзать его)
Mal Hack читай первый пост там на писано на ПХП я предполагаю что без сторонних утилит. А нагрузка будет не слишком большой никто не говорит считать каждый байт если будет превышение из 8 гиг на 50 мег это ничего! т.е можно отдавать кусками по 50-100 мег. А подумай саму идею писать на пхп такую утилиту я смысла не вижу. А ты говоришь про скорость обработки на конкретный вопрос конкретный ответ:цикл с большими кусками под 50-100 мег! |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
тоесть я циклом стичываю в переменную побайтово. Как накопилось одтал через заголовок. опять, считал - отдал и т.д. так? Вопрос: оно не будет виснуть тот период пока будет "накапливаться" в переменной эти самые 50-100 мб?
|
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
Зачем в переменную, можно просто отдавать.
Вот набросал на коленях П.С. только что исправил ошибку Это сообщение отредактировал(а) Diesel Draft - 27.7.2007, 11:23 |
|||
|
||||
jinn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.10.2006 Репутация: нет Всего: нет |
код который привел Diesel Draft будет работать довольно быстро)только там нужно будет вставить проверку на лимит трафика)
Это сообщение отредактировал(а) jinn - 27.7.2007, 11:24 |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
А, я ошибку нашли
![]() ![]() ну думаю пример ясен |
|||
|
||||
jinn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.10.2006 Репутация: нет Всего: нет |
там должно быть примерно так:
Это сообщение отредактировал(а) jinn - 27.7.2007, 11:33 |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
jinn, тоже на коленях писал ?
![]() |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
а как лучьше отдавать? так?
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |