Задать вопрос
  • Как сделать докачку файла средствами WebClient?

    @IPv4 Автор вопроса
    Станислав Макаров: есть где то примеры подобной реализации? Загрузка в поток и сохранение в файл из потока.
  • Как сделать докачку файла средствами WebClient?

    @IPv4 Автор вопроса
    Станислав Макаров: DownloadFileAsync. Только если я буду писать в поток, а программа завершится, выключится компьютер, например, то ничего не сохранится, так как поток будет в памяти.
    Ищу примеры, чтобы подобное попробовать реализовать.
  • Как сделать докачку файла средствами WebClient?

    @IPv4 Автор вопроса
    Я знаю как считать длину имеющегося файла и начать скачивать файл с нужного фрагмента. Вопрос заключается в другом.
  • Почему после установки php на ubuntu 15 не отрабатывает php?

    @IPv4
    Такое только с PMA или с любым php скриптом?
  • Как настроить dns на vds?

    @IPv4
    Serufim: наверное, для домена А запись нужно указать в настройках DNS зоны того сервиса, где он делегирован.
  • Какова правильная логика обновления клиента игры?

    @IPv4 Автор вопроса
    Остановился на следующем варианте:
    При запуске клиента проверяется наличие файла с версией. Если такового нет, то происходит операция полного обновления (Загружается список всех файлов и сверяются их хеши с теми, что присутствуют в клиенте. Совпадения удаляются на этапе проверки. Недостающие загружаются.).
    Если файл есть и версия совпадает, то загружается легкий файл со списком всех каталогов. Если все каталоги на месте, то разрешаем запустить игру. Если какой то отсутствует, то происходит операция полного обновления.
    Если файл есть и версия не совпадает, но версия клиента присутствует в истории версий на сервере, то загружается список версий от версии клиента до текущей и накатываются патчи, после чего загружается легкий файл со списком всех каталогов. Если все каталоги на месте, то разрешаем запустить игру.

    Причина, по которой я сделал так - равнение на крупные игровые проекты, типа Steam, 4Game, Origin. Касательно Steam в шапке я ошибался - отсутствие даже важных файлов для игры не является поводом для обновления.

    Всем большое спасибо за участие. Методы, которые были описаны вами, но мной не использованы, я взял на вооружение.
  • Какова правильная логика обновления клиента игры?

    @IPv4 Автор вопроса
    У 4Game, например, сделано иначе:
    Вышло обновление - загружаем обновление.
    И после обновления файлы не загрузятся те, которые были удалены до начала последнего обновления, если они в этот апдейт не входили.
    Уже остановился на конкретном варианте, напишу в комментарии под шапкой.
  • Какова правильная логика обновления клиента игры?

    @IPv4 Автор вопроса
    AtomKrieg: не совсем понял что Вы имели ввиду.
  • Какова правильная логика обновления клиента игры?

    @IPv4 Автор вопроса
    Тем не менее, проверка всех файлов осуществляться будет, а не той части, что необходима. Этот момент тоже интересует отчасти.
    Предположим, есть следующая иерархия:
    • dir1
      • dir1_1
      • dir1_2
      • dir1_3

    • dir2
      • dir2_1
      • dir2_2
      • dir2_3 (файл в этом каталоге был изменен/удален)

    • dir3
      • dir3_1
      • dir3_2
      • dir3_3


    Соответственно, время изменения содержимого каталога dir2_3 будет отличаться от серверного. А если там есть вложенные подкаталоги, то и время тех директорий, в которых в конце концов изменялся/удалялся файл.
    А значит быстрее будет пробежаться поверхностно по датам изменения каталогов и сравнить их с серверными значениями и если есть несоответствия, уже шерстить по этому каталогу.
    В приведенном примере проверятся даты каталогов dir1,dir2,dir3 и дальше будут проверяться даты только каталогов в директории dir2. Остальные проигнорируются.
    Или я ошибаюсь и могу натолкнуться на какие то подводные камни?
  • Какова правильная логика обновления клиента игры?

    @IPv4 Автор вопроса
    Про хеши файлов я подумал в первую очередь. Но не определился с способом проверки этих хешей. Либо рекурсивно бежать по каталогам и хэш каждого файла отправлять на сервер и там сверять (банально класть рядом с файлами на сервере файл с таким же названием, но расширением .sum, где будет прописан хэш этого файла) либо загружать на период проверки файл со всеми путями и хешами и проверять локально. В первом случае будет много запросов на сервер. Во втором же слишком уж тяжелый файл придется держать в памяти. Файлов то очень много.

    Пока склоняюсь именно к промежуточным патчам (1>2,2>3,3>4). Самый оптимальный вариант.

    з.ы. эдакая у Вас подпись, спасибо, что счет не выписали)
  • Какова правильная логика обновления клиента игры?

    @IPv4 Автор вопроса
    Да, в этом есть смысл, этот способ хорошо дополняет идею с патчами. И мне такой способ нравится, за исключением одного - после каждого обновления клиента игры на сервере придется заново создавать все патчи для обновления до последней версии.
  • Почему периодически не заходит на сайты?

    @IPv4
    chupasaurus: "не заворачиваются" - в смысле, не кешируются? А какая разница? DNS только адрес отдает. Соединение от клиента до сервера устанавливается не через DNS. Так или иначе провайдер может благополучно закрыть доступ к определенному IP.
  • Какого платежного агрегатора выбрать?

    @IPv4 Автор вопроса
    Night: у меня к WM карта привязана и как раз таки Альфа-банка. Каждый день уже на протяжении двух, по-моему, месяцев вижу такую картину:
    i.imgur.com/7dCJsqD.png
    ЯД выводят на карту с бОльшей комиссией, нежели на счет.
    По-сути, Вы мне предлагаете делать больше платежей из ЯДа на карту банка, что подразумевает переплату комиссии. Это кажется, что всего лишь на 30 рублей большей. Подумаешь, копейки.
    10 выводов за полторы недели, например, это уже 600 рублей.
    Скорость вывода из QIWI меня мало интересует, у нас там средства не хранятся.
  • Какого платежного агрегатора выбрать?

    @IPv4 Автор вопроса
    Night: WM может моментально выводить на карту только посредством p2p перевода через биржи, при условии, что второй участник, которому нужны WM, найдется моментально, а не придется ждать или искать его несколько суток.
    ЯД не выводят моментально.
    По-сути, бОльшая часть средств у нас на счету InterKassa, так как там прием средств с QIWI и с мобильных телефонов. Средства на WM менее востребованы, мы сейчас попросту на WM вывод отключили.
    Не совсем надуманная, я назвал причину - неудобство, посему и ищем агрегатора, где можно объединить прием всех средств воедино.
    Сама же Interkassa отпадает - периодически отваливается ЯД, банковские карты (до сих пор недоступны).
  • Не работает код изменения количества товаров? Как исправить?

    @IPv4
    kipajek: покажите каким образом изменяете цену. Приведите кусок кода.
  • Какого платежного агрегатора выбрать?

    @IPv4 Автор вопроса
    Совершенно неудобно распоряжаться средствами, которые одновременно на WM кошельке, Yandex счете и в Interkassa.
    Ладно бы если перевод в банк занимал ~сутки, но нет, из Interkassa на карту Российского банка в данный момент не выводят, поэтому приходится сперва в w1, потом ждать, когда придут туда (~2 суток), после чего на карту банка.
    И из Yandex платежи идут на карту банка ~3 суток.
  • Что быстрей file_get_contents | Sockets | cURL?

    @IPv4
    Как уже сказал Сергей Протько - 1 и 3 используют 2. Sockets, например, это PHP, file_get_contents - CMS на PHP, а CURL - фреймворк.