![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
Добрый день. необходимо на ПХП релизовать следующие, пользователь скачивает файл, скрипт должен при оттаче записывать сколько трафика ушло, тоесть к примеру если размер файла 300 метров, а обрыв связи произошел при скачивании 250 засчитатся должно что пользователь скачал 250 метров, а не 300. Есть у кого идеи как это реализовать?
|
|||
|
||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 1 Всего: 8 |
скрипт читает файл и отдает блоками. на том на котором остановился - записывает в базу
|
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
хм... а как это можно програмно сделать не подскажешь?
|
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
connection_aborted(). - Возвращает TRUE, если клиент отсоединён
Просто в цикле выводишь и проверяешь если соединение если ли обрыв. А зачем тебе. Хочешь сделать докачку или трафик тарафикуеш трафик? |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
||||
|
||||
jinn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.10.2006 Репутация: нет Всего: нет |
chiffa т.е делишь файл на блоки например по 1024 байт и теперь при скачаивании оцередного блока проверяешь с помощью connection_aborted() разорвалось ли соединение если оно разорвалось то записываешь текущее кол-во переданных блоков*кол-во байт одного блока или сразу кол-во переданных байт(как цикл реализуешь смотря)
|
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
тоесть считал 1024 байт майта - отдал, еще 1024 отдал. так?
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
Проще поставить утилиту на сервер специальную и с нее читать данные.
Второй вариант netstat'ом смотреть информацию по соединению. Если вы будете разбивать 300 метровый файл на части и отдавать его пользователю, даю 100% вероятности того, что он его не получит. |
|||
|
||||
chiffa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 734 Регистрация: 11.11.2003 Репутация: нет Всего: -1 |
а какую утилиту и что за netstat?
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
netstat - утилита под линукс.
|
|||
|
||||
Diesel Draft |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
Да, именно. Это немного тормозит потому что много лишних операций, но работает на все 100%.
Спасибо Это сообщение отредактировал(а) Diesel Draft - 26.7.2007, 17:39 |
||||
|
|||||
jinn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 20.10.2006 Репутация: нет Всего: нет |
Mal Hack не прав а если надо под виндой данное организовать???имхо бред конечно но все таки)
ну 1024 байт я грубо сказал можно больше правда немного будет подтормаживать но в этом ты будешь уверен!!это будет твое и не нужно будет юзать сторонние разработки что несомненный +. |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
Еще один плюс в том что его можно юзать на всех хостингах. Ах да, не забудь отключить лимит времени
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 8 Всего: 261 |
jinn, простите, в чем я не прав?
Вариант что у вс виндовый сервер не рассматривается, т.к. это ваши проблемы и ваша головная боль. Вы себе не представляете на сколько это "немного" буде большим и как это будет грузить сервер... Вывод (читайте отправка файла пользователю) надо делать 1 раз. |
|||
|
||||
Diesel Draft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 876 Регистрация: 18.1.2005 Где: Lviv, Ukraine Репутация: нет Всего: 5 |
нагрузка снижается за счет больших кусков
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |