Вверх ↑
Этот топик читают: Гость
Ответов: 92
Рейтинг: 0
#1: 2016-02-23 18:16:42 ЛС | профиль | цитата
В общем решил в който веки довести программу до ума, уверен что потенциально программа может работать быстрее, но руки у меня явно растут не из того места.

Другие проблемы: при работе добавляет последний домен два раза, неровно сортирует столбцы.

Список доменов для проверки работы программы
parfumeco.ru
stockihome.ru
k-magic38.ru
http://the-sever.ru
divasalon.su
apk-group.ru
tktechnology.ru
tktechnologija.ru
elektrostil.su
novinkaomsk.ru
nasha-mebel-kotovsk.ru
zooplaneta55.ru
grillandveggies.ru
mingryaz.ru
tsm-kuzbass.ru
ekopro74.ru
kct-nn.ru
technology-info.ru
soundmaxi.ru
zaptorg74.ru
eat-meat.ru
mimaki-kazan.ru
falke-shop.ru
perm-zuk.ru
zuki-moscow.ru
tourismrus.ru
ekt46.ru
t-proff.ru

http://forum.hiasm.net/xf/attach/share/doordom.zip

ПС
Так же не нравится как сделал загрузку списка, в идеале хотел сделать работа шла напрямую из файла, но не знаю как реализовать что бы выдавал по очереди домены, так как списки могут быть большими (до гига включительно), если с шттп гет это вполне нормально реализуется, то при учете того что в схеме используется тсп клиент, работать таким макаром не хочет.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#2: 2016-02-23 19:41:40 ЛС | профиль | цитата
thesever.gif
code_36978.txt
и т.д.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 2thesever.gif [23KB] [610], code_36978.txt [273B] [326]
Разработчик
Ответов: 26153
Рейтинг: 2127
#3: 2016-02-23 19:48:01 ЛС | профиль | цитата
Tad писал(а):
и т.д.

А Memory зачем перед MultiReplac-ом?
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#4: 2016-02-23 19:52:41 ЛС | профиль | цитата
nesco, не заметил.
Там столько лишнего...
theSever, сначала нужно выбросить лишнее.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 92
Рейтинг: 0
#5: 2016-02-24 00:11:16 ЛС | профиль | цитата
Tad писал(а):

code_36978.txt
и т.д.


Ага, спасибо) Навалил всего и от души)
Вроде вычистил ненужные мемори и удалил дублирующиеся функции.

http://forum.hiasm.net/xf/attach/share/doordom2.zip

Но один черт медленно работает, веню во всем построчный метод перебора, делал парсер яндекс бара (шттп гет), через сплошной поток строк из SearchInFile, все работает на очень большой скорости, сначала делал так же, но определение вхуз (tcp клиент) не работает таким методом((
------------ Дoбавленo в 00.11:
Решил короче все заново перелопатить, взял за основу многопоточный прокси чекер что крид выкидывал, и походу напортачил
Выдает ровно столько результатов, сколько выставлено потоков и глохнет... Подскажите где напортачил?

Make(delphi)
ver(4.05 build 186)
Add(MultiElementEx,7652017,1054,574)
{
@Hint=#31:Модуль MultiThreads_Checker_1.1|
Mode=1
link(OnResult,16344680:doEvent1,[])
link(End,3306489:In,[])
link(get_ip_port,6487186:Var,[])
AddHint(180,-109,184,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,9746293,21,21)
{
WorkCount=#5:##add|9:##hdelete|
EventCount=#8:OnResult|3:End|
VarCount=#7:##count|13:##eventHandle|
DataCount=#11:get_ip_port|0:|
Width=1630
Height=851
VOffset=80
HOffset=140
Point(##add)
Point(##hdelete)
Point(##count)
Point(##eventHandle)
link(##add,12340182:doWork,[])
}
Add(LineBreakEx,8666620,1466,101)
{
Caption="Result"
Type=1
link(OnEvent,15049631:doSafeMode,[])
}
Add(LineBreakEx,47105,1520,135)
{
Caption="End"
Type=1
link(OnEvent,9746293:End,[(1594,141)(1594,114)])
}
Add(SafeMode,15049631,1528,101)
{
Name="checker_result"
link(onSafeMode,9746293:OnResult,[])
}
Add(LineBreakEx,6281593,1271,534)
{
Caption="Result"
}
Add(LineBreakEx,7307885,49,196)
{
Caption="StartCheck"
Type=1
link(OnEvent,6667049:doSafeMode,[(128,202)(128,181)])
}
Add(LineBreakEx,12340182,54,101)
{
Caption="StartCheck"
}
Add(LineBreak,6639068,161,38)
{
Caption="get_ip_port"
Type=1
link(Data,9746293:get_ip_port,[])
Primary=[8039361,13,104]
}
Add(SafeMode,6667049,134,175)
{
Name="checker_get_ip_port"
link(onSafeMode,3700032:doData,[])
}
Add(DoData,3700032,189,175)
{
link(onEventData,3013132:doCompare,[(244,181)(244,193)])
link(Data,8039361:Var,[(195,169)(180,169)])
}
Add(Hub,10215304,677,180)
{
OutCount=5
link(onEvent1,9387456:doData,[(706,186)(706,188)])
link(onEvent2,16357934:In,[(748,193)(748,293)])
}
Add(Thread,14975125,625,180)
{
Delay=1
FastStop=0
BusyEvent=1
link(onExec,10215304:doEvent1,[])
}
Add(If_else,3013132,267,187)
{
link(onTrue,8080686:doEvent1,[(312,193)(312,163)])
link(onFalse,9654815:doCompare,[(317,200)(317,202)])
link(Op2,16764516:Value,[])
}
Add(Memory,16764516,274,130)
{
}
Add(Hub,8080686,325,157)
{
link(onEvent1,6214789:doWork,[(346,163)(346,159)])
link(onEvent2,16421175:doWork,[(346,170)(346,175)])
}
Add(LineBreakEx,6214789,353,153)
{
Caption="End"
}
Add(LineBreakEx,3820589,533,194)
{
Caption="StopCheck"
Type=1
link(OnEvent,14975125:doStop,[(616,200)(616,193)])
}
Add(LineBreakEx,16421175,353,169)
{
Caption="StopCheck"
}
Add(FormatStr,4957244,1141,525)
{
DataCount=8
Mask="%1,%2,%3,%4"
link(onFString,7593678:doEvent1,[(1214,531)(1214,540)])
link(Str1,3831849:Var,[])
link(Str3,6798492:Var,[])
link(Str4,12414457:Var,[])
}
Add(StrList,2159738,770,119)
{
Strings=#9:http://=;|10:https://=;|6:www.=;|3:/=;|
}
Add(MultiReplace,117603,763,182)
{
link(ReplaceList,13927829:Var2,[])
}
Add(Hub,7593678,1227,534)
{
OutCount=3
link(onEvent1,6281593:doWork,[])
link(onEvent2,1917053:doWork,[(1253,547)(1253,569)])
}
Add(LineBreakEx,1917053,1264,563)
{
Caption="StartCheck"
}
Add(StrMask,9654815,336,196)
{
Mask="http*"
link(onFalse,7516542:doStrCat,[])
link(onTrue,7695048:doWork3,[(431,224)])
}
Add(StrCat,7516542,385,196)
{
Str1="http://"
link(onStrCat,7695048:doWork2,[])
}
Add(Memory,16482908,448,196)
{
@Hint=#15:Состояние хоста|
link(onData,14975125:doStart,[(518,202)(518,186)])
}
Add(HubEx,7695048,427,196)
{
link(onEvent,16482908:doValue,[])
}
Add(DoData,9387456,721,182)
{
link(onEventData,117603:doMultiReplace,[])
link(Data,16081067:Var3,[(727,170)(592,170)(592,250)])
}
Add(GetDataEx,16081067,448,245)
{
link(Data,16482908:Value,[])
}
Add(HTTP_Get,9729894,294,406)
{
Wait=0
link(onDownload,1605886:doConvert,[])
link(URL,10781118:Result,[(300,394)(276,394)(276,450)(251,450)])
}
Add(StrCat,10781118,245,406)
{
Str1="http://bar-navig.yandex.ru/u?ver=2&show=32&url="
link(onStrCat,9729894:doDownload,[])
link(Str2,4000629:Var3,[(258,257)])
}
Add(Convertor,1605886,343,413)
{
Mode=11
link(onResult,2066129:doCharset,[])
}
Add(Charset,2066129,392,413)
{
Type=7
link(onCharset,15115652:doSearch,[])
}
Add(BlockFind,10626003,231,525)
{
IncludeBlock=1
StartBlock="<yaca url=""
EndBlock=""/>"
Point(onNotFind)
link(onSearch,1983570:doMultiReplace,[])
}
Add(MultiReplace,1983570,280,525)
{
link(onResult,15176407:doExec,[])
link(ReplaceList,834122:Var,[])
}
Add(DoData,13501458,455,525)
{
Data=String(Нет)
link(onEventData,11141711:doWork2,[])
}
Add(DoData,12805414,455,567)
{
Data=String(Да)
link(onEventData,11141711:doWork3,[(515,573)])
}
Add(Memory,8570413,525,525)
{
@Hint=#15:Состояние хоста|
link(onData,4957244:doString,[])
}
Add(BlockFind,15115652,476,413)
{
IncludeBlock=1
StartBlock="value=""
EndBlock=""/>"
Point(onNotFind)
link(onSearch,12563769:doValue,[])
link(onEndSearch,13443203:In,[(520,426)(520,444)(450,444)(450,461)])
}
Add(Memory,12563769,539,413)
{
@Hint=#15:Состояние хоста|
}
Add(RE_Search,15176407,343,525)
{
ModifierR=1
Point(Matches)
link(onMatch,13501458:doData,[])
link(onNotFound,10307742:doEvent1,[])
link(SourceStr,1983570:Result,[(349,516)(286,516)])
link(Expression,13863573:Var,[])
}
Add(HubEx,11141711,511,525)
{
link(onEvent,8570413:doValue,[])
}
Add(Hub,10307742,392,532)
{
link(onEvent1,12805414:doData,[(430,538)(430,573)])
link(onEvent2,10417390:doData,[(430,545)(430,615)])
}
Add(DoData,10417390,455,609)
{
Data=String(0)
}
Add(LineBreak,4507184,154,406)
{
Caption="Start Yandex"
link(Out,10781118:doStrCat,[])
Primary=[16357934,658,-119]
}
Add(LineBreak,7916522,539,462)
{
Caption="Тиц"
Type=1
link(Data,12563769:Value,[])
Primary=[6798492,616,-70]
}
Add(LineBreak,562416,154,525)
{
Caption="Start клей"
link(Out,10626003:doSearch,[])
Primary=[13443203,308,-70]
}
Add(LineBreak,9793537,525,574)
{
Caption="Клей"
Type=1
link(Data,8570413:Value,[])
Primary=[12414457,637,-161]
}
Add(LineBreak,6106396,812,175)
{
Caption="http"
Type=1
link(Data,13927829:Var3,[(818,173)])
Primary=[834122,-525,308]
}
Add(LineBreak,4340597,763,245)
{
Caption="Domain"
Type=1
link(Data,117603:Result,[])
Primary=[13863573,-413,252]
}
Add(LineBreak,3187541,448,273)
{
Caption="http"
Type=1
link(Data,4000629:Var2,[])
Primary=[3831849,693,168]
}
Add(GetDataEx,4000629,448,252)
{
link(Data,16081067:Var2,[])
}
Add(GetDataEx,13927829,770,168)
{
link(Data,2159738:Text,[])
}
END_SDK
Add(MainForm,11326563,847,371)
{
Width=478
Height=480
Caption=""
Position=1
}
Add(Button,13777211,818,574)
{
Left=115
Top=45
Width=185
Height=30
Caption="Проверить"
link(onClick,11304990:doFor,[])
}
Add(Edit,12430023,1001,530)
{
Left=10
Top=50
Text="5"
}
Add(Label,6950492,847,455)
{
Left=65
Top=55
Width=47
Height=17
Caption="Потоков"
}
Add(For,11304990,994,574)
{
Start=1
End=5
link(onEvent,7652017:##add,[])
link(End,12430023:Text,[])
}
Add(LineBreak,334677,992,461)
{
Caption="get_ip_port"
Type=1
link(Data,8737633:GetData,[])
Primary=[6487186,62,36]
}
Add(TCP_Server,5234581,847,413)
{
Port=5
}
Add(EventFromData,8737633,992,419)
{
link(onEvent,10645816:doData,[])
}
Add(Timer,6989260,707,371)
{
Interval=100
link(onTimer,3105876:doData,[])
}
Add(FormatStr,13623212,798,371)
{
DataCount=1
Mask="Прокси чекер 1.1; Активных модулей: %1;"
link(onFString,11326563:doCaption,[])
}
Add(LineBreakEx,5700589,1054,625)
{
Caption="CountMTCheck"
Type=3
link(_Data,7652017:##count,[])
}
Add(LineBreakEx,14012912,753,344)
{
Caption="CountMTCheck"
Type=2
}
Add(ChangeMon,3105876,753,371)
{
link(onData,13623212:doString,[])
link(Data,14012912:getVar,[])
}
Add(LineBreak,9944522,947,623)
{
Caption="End"
link(Out,16276923:doPush,[])
Primary=[3306489,152,-42]
}
Add(StrList,3673357,1120,377)
{
Strings=#12:parfumeco.ru|13:stockihome.ru|12:k-magic38.ru|19:http://the-sever.ru|12:divasalon.su|12:apk-group.ru|15:tktechnology.ru|17:tktechnologija.ru|14:elektrostil.su|14:novinkaomsk.ru|22:nasha-mebel-kotovsk.ru|15:zooplaneta55.ru|18:grillandveggies.ru|11:mingryaz.ru|14:tsm-kuzbass.ru|11:ekopro74.ru|9:kct-nn.ru|18:technology-info.ru|12:soundmaxi.ru|12:zaptorg74.ru|11:eat-meat.ru|15:mimaki-kazan.ru|13:falke-shop.ru|11:perm-zuk.ru|14:zuki-moscow.ru|13:tourismrus.ru|8:ekt46.ru|10:t-proff.ru|
Point(doGetString)
Point(onGetString)
Point(IdxToSelect)
link(onGetString,8737633:doData,[(1165,390)(1165,484)(980,484)(980,425)])
}
Add(InfoTip,14774,966,350)
{
Info=#27:Список ip:port для проверки|
Width=218
Height=151
}
Add(Hub,6078942,1084,419)
{
link(onEvent1,3673357:doGetString,[])
link(onEvent2,3673357:doDelete,[(1109,432)(1109,397)])
}
Add(DoData,10645816,1037,419)
{
Data=Integer(0)
link(onEventData,6078942:doEvent1,[])
}
Add(Stack,16276923,994,623)
{
link(onPop,7652017:##hdelete,[(1040,636)(1040,587)])
link(Data,7652017:##eventHandle,[(1000,615)(1067,615)])
}
Add(Timer,9657903,948,641)
{
Interval=30
link(onTimer,16276923:doPop,[(987,647)(987,636)])
}
Add(Edit,9371808,1274,539)
{
Left=10
Top=15
Width=290
Text=""
Alignment=2
}
Add(Hub,16344680,1239,574)
{
link(onEvent1,9371808:doText,[(1263,580)(1263,545)])
link(onEvent2,9855146:doAdd,[(1263,587)(1263,657)])
}
Add(Memo,9855146,1274,651)
{
Left=10
Top=80
Width=290
Height=320
ScrollBars=2
}
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#6: 2016-02-24 00:50:44 ЛС | профиль | цитата
theSever писал(а):
хотел сделать работа шла напрямую из файла
Вроде как-то так: (но "Список" - это не число строк в файле, а номер обрабатываемой строки)
thesever_1.gif
code_36980.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 2thesever_1.gif [9.4KB] [439], code_36980.txt [2.8KB] [445]
Ответов: 92
Рейтинг: 0
#7: 2016-02-24 00:58:56 ЛС | профиль | цитата
Tad писал(а):
Как-то так:
thesever_1.gif

Увы, я так делал, что то не нравится тсп клиенту, но пофиг впринципе, перебор мне понравился из чекера прокси, сейчас на основе него пытаюсь переработать, вот только не пойму где напортачил, привел схему выше, в прошлом посте, выдает первые результаты по количеству потоков и останавливается и совершенно не могу понять из-за чего.
карма: 0

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)