Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 28 мар 2024, 17:22

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: [INC] HTTP Downloader
СообщениеДобавлено: 15 апр 2012, 17:00 
Не в сети
Зарегистрирован:
06 авг 2010, 10:25
Последнее посещение:
20 янв 2021, 16:32
Сообщения: 695
Откуда: Uzbekistan
HTTP Downloader

Автор: Bugsy
Версия: 0.4
Источник: http://forums.alliedmods.net/showthread.php?t=167847

Инфо:
Данный инклюд представляет возможность загружать любые файлы на сервер во время игры по протоколу HTTP. Загрузка идёт на максимальной скорости, которую может предоставить интернет канал. Работа загрузчика организована по слотам. Максимальное кол-во слотов для загрузки - 10.

Нативы:

HTTP_DownloadFile( const szRemoteFile[], const szLocalFile []) - запуск загрузки файла

  • szRemoteFile[] - URL загружаемого файла
  • szLocalFile[] - Полный для загрузки файла
  • Возвращает ID загрузки или 0, если загрузка не удалась или все слоты забиты

HTTP_AbortTransfer( iDownloadID , bool:bDeleteLocalFile=true ) - прекращение загрузки файла

  • iDownloadID - ID загрузки, которую необходимо прервать (полученной HTTP_DownloadFile)
  • bool:bDeleteLocalFile - удалить загружаемый файл
  • Возвращает 1 в случае успеха и 0, если не удалось

Форварды:

HTTP_Download( const szFile[] , iDownloadID , iBytesReceived , iFileSize , bool:bTransferComplete ) - форвард, вызываемый во время загрузки файла
  • szFile - возвращает полный путь загружаемого файла
  • iDownloadID - возвращает ID загрузки, которая вызвала форвард
  • iBytesReceived - всего получено байт
  • iFileSize - полный размер файла в байтах
  • bTransferComplete - true если завершена и false если нет

Необходимые модули:
engine
sockets

Пример:
Код:
#include <amxmodx>
#include <http>

new const Version[] = "0.3";

public plugin_init()
{
    register_plugin( "HTTP Test" , Version , "bugsy" );
   
    register_concmd( "test" , "DownloadFile" );
}

public DownloadFile()
{
    HTTP_DownloadFile( "http://forums.alliedmods.net/images/misc/am_banner.jpg" , "amxmodx.jpg" );
}

public HTTP_Download( const szFile[] , iDownloadID , iBytesRecv , iFileSize , bool:TransferComplete )
{
    if ( TransferComplete )
    {
        server_print( "%s download complete!" , szFile );
    }
    else
    {
        server_print( "File=[%s] DownloadID=%d BytesTransferred=%d iSize=%d" , szFile , iDownloadID , iBytesRecv , iFileSize );
    }
}

Заметки при работе с инклюдом
:
  • Нету проверки на наличие файла - файл просто перезаписывается
  • Некоторые файлы повреждаются во время передачи, открыть их не представляется возможным(!!!)


Вложения:
http.zip [1.71 КБ]
Скачиваний: 431
Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: [INC] HTTP Downloader
СообщениеДобавлено: 15 апр 2012, 20:31 
Не в сети
Аватара пользователя
Зарегистрирован:
13 окт 2010, 07:24
Последнее посещение:
08 сен 2014, 23:34
Сообщения: 819
Откуда: Новосибирск
не совсем смысл понял данного плагина
лучшеб сделали поддержку скачки ресурсов по ftp :Bravo:


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: [INC] HTTP Downloader
СообщениеДобавлено: 15 апр 2012, 21:05 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
:D


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: [INC] HTTP Downloader
СообщениеДобавлено: 16 апр 2012, 14:17 
Не в сети
Зарегистрирован:
06 авг 2010, 10:25
Последнее посещение:
20 янв 2021, 16:32
Сообщения: 695
Откуда: Uzbekistan
я долго думал, но не нашел применение этому инклюду
файл грузится на сам сервер, клиентам отсылать он не умеет

по фтп можно вроде сделать)
 Мой диалог с FTP :D


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: [INC] HTTP Downloader
СообщениеДобавлено: 03 янв 2016, 03:08 
Не в сети
Зарегистрирован:
02 янв 2016, 06:46
Последнее посещение:
16 сен 2018, 01:27
Сообщения: 8
подойдёт только как обновление плагинов не заходя на игровой сервер


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB