Zazzage torrent 16GB ta kwamfutar hannu tare da 4GB na sarari kyauta

Zazzage torrent 16GB ta kwamfutar hannu tare da 4GB na sarari kyauta

Aiki:

Akwai PC ba tare da Intanet ba, amma yana yiwuwa a canja wurin fayil ta USB. Akwai kwamfutar hannu tare da Intanet wanda za'a iya canja wurin wannan fayil daga gare ta. Kuna iya saukar da rafi da ake buƙata akan kwamfutar hannu, amma babu isasshen sarari kyauta. Fayil ɗin da ke cikin torrent ɗaya ne kuma babba.

Hanyar zuwa mafita:

Na fara rafi don saukewa. Lokacin da sarari kyauta ya kusa ƙarewa, na dakatar da zazzagewar. Na haɗa kwamfutar hannu zuwa PC kuma na matsar da fayil ɗin daga kwamfutar hannu zuwa PC. Na dakata, ga mamakina an sake ƙirƙiro fayil ɗin kuma raf ɗin ya ci gaba da saukewa kamar ba abin da ya faru.

Saboda gaskiyar cewa abokin ciniki torrent yana saita ƙayyadaddun tutar zuwa fayil ɗin da yake rubuta bayanan da aka karɓa a cikinsa, tsarin baya ƙoƙarin ajiye 16GB lokaci ɗaya kuma kuskure ba zai faru ba yayin ƙoƙarin rubuta fayil ɗin da ya wuce 4GB.

Bayan maimaita hanya sau hudu, na karbi fayiloli guda hudu akan PC dina masu dauke da sassa daban-daban na torrent iri ɗaya. Yanzu abin da ya rage shi ne a hada su wuri guda. Hanyar yana da sauƙi mai sauƙi. Kuna buƙatar maye gurbin sifilin bytes tare da wata ƙima idan ya kasance a wurin da aka ba shi a ɗaya daga cikin fayiloli guda huɗu.

Ya zama a gare ni cewa irin wannan shirin mai sauƙi ya kamata ya kasance akan Intanet. Shin babu wanda ya taɓa samun irin wannan matsalar? Amma na gane cewa ban ma san ainihin kalmomin da zan bincika ba. Saboda haka, na yi sauri na ƙirƙiri rubutun Lua don wannan aikin kuma yanzu na inganta shi. Wannan shine abin da nake so in raba.

Zazzage rafi a sassa

  1. fara zazzage torrent akan na'urar farko
  2. jira har sai an cika ROM
  3. dakatar da zazzagewar
  4. canja wurin fayil ɗin zuwa na'ura ta biyu kuma ƙara lamba zuwa sunan fayil ɗin
  5. mu koma batu na farko har sai an sauke fayil din gaba daya

Haɗa sassa zuwa fayil ɗaya

Bayan an karɓi kashi na ƙarshe, dole ne a tattara su cikin fayil guda ɗaya.

Aikin yana da sauki:

  1. Karanta duk sassa lokaci guda
  2. Idan a wani bangare matsayi ba sifili byte ba, sa'an nan mu rubuta shi zuwa ga fitarwa, in ba haka ba mu rubuta zero

aiki merge_part ya yarda da tsararrun zaren streams_in wanda ke karanta wani yanki na girman buffer_length kuma ya dawo da sakamakon haɗakar sassa daga zaren daban-daban.

function merge_part(streams_in, buffer_length)
    local out_part
    for _, stream in ipairs(streams_in) do
        local in_part = stream:read(buffer_length)

        if not out_part then
            out_part = in_part -- просто копируем часть из первого файла
        elseif in_part and #in_part > 0 then

            if #out_part < #in_part then
                out_part, in_part = in_part, out_part
            end

            if out_part ~= in_part  -- данные различаются
                and in_part:find("[^ ]")   -- есть данные в in_part
                and out_part:find(" ", 1, true) -- есть пустые места в out_part
            then 
                local find_index = 1
--[[

aiki string.gsub ya dace da aikin domin zai nemo guntun da aka cika da sifili kuma ya isar da abin da aka ba shi.

--]]
                out_part = out_part:gsub(" +", function(zero_string)

                    if #in_part < find_index then
                        return -- не на что менять
                    end
--[[

string.gsub baya isar da matsayin da aka samu ashana. Saboda haka, muna yin bincike na layi daya don matsayi zero_string amfani da aikin string.find. Ya isa nemo byte sifili na farko.

--]]
                    local start_index = out_part:find(" ", find_index, true)
                    find_index = start_index + #zero_string

--[[

Yanzu idan in in_part akwai data ga out_part kwafi su.

--]]
                    if #in_part >= start_index then
                        local end_index = start_index + #zero_string - 1
--[[

Yanke daga in_part sashi daidai da jerin sifilai.

--]]
                        local part = in_part:sub(start_index, end_index)

                        if (part:byte(1) ~= 0) or part:find("[^ ]") then
--[[

В part akwai data.

--]]
                            if #part == #zero_string then
                                return part
                            else
--[[

part ya zama ƙasa da jerin sifilai. Mu karawa da su.

--]]
                                return part..zero_string:sub(1, end_index - #in_part)
                            end
                        end
                    end
                end)
            end
        end
    end
    return out_part
end

ƙarshe

Don haka, mun sami damar zazzagewa da haɗa wannan fayil ɗin akan PC. Bayan haɗewar, na ciro fayil ɗin torrent daga kwamfutar hannu. Na shigar da abokin ciniki torrent akan PC na kuma na duba fayil ɗin dashi.

Za a iya barin ɓangaren da aka sauke na ƙarshe akan kwamfutar hannu akan rarraba, amma kuna buƙatar kunna sake duba sassan kafin wannan kuma cire fayil ɗin don kada ya sake saukewa.

Amfani:

  1. Flud torrent abokin ciniki akan kwamfutar hannu.
  2. Abokin ciniki na Torrent qBittoren akan PC.
  3. Rubutun Lua

source: www.habr.com

Add a comment