Вверх ↑
Ответов: 39
Рейтинг: 0
#1: 2021-02-09 19:30:18 ЛС | профиль | цитата
Добрый вечер

На Hiasm стоит такой компилятор: https://forum.hiasm.com/topic/61538
И HTTP компоненты: https://forum.hiasm.com/topic/62708

Есть такой код
Add(MultiElement,16549076,413,133)
{
@Color=11163135
}
BEGIN_SDK
Add(EditMulti,8497007,21,21)
{
EventCount=2
WorkCount=1
DataCount=5
Width=930
Height=781
link(doWork1,4805872:doCompare,[(42,27)(42,538)])
}
Add(MultiElement,13621162,357,476)
{
link(Data1,8497007:Data2,[(363,248)(34,248)])
}
BEGIN_SDK
Add(EditMulti,15391120,21,21)
{
WorkCount=1
DataCount=1
VarCount=3
Width=783
Height=494
link(doWork1,13876825:doSplit,[(53,27)(53,146)])
link(Var1,15493357:Value,[(27,361)(594,361)])
link(Var2,6376195:Value,[(34,361)(671,361)])
link(Var3,16271223:Value,[(41,361)(727,361)])
}
Add(MultiStrPart,13876825,84,140)
{
Char="@"
Point(onNotFound)
link(onSplit,11348573:doEvent1,[(149,146)])
link(Str,6472795:Var2,[])
link(onNotFound,14557135:doEvent1,[(124,153)(124,265)])
}
Add(Memory,15493357,588,175)
{
}
Add(Memory,6376195,665,175)
{
}
Add(Memory,16271223,721,175)
{
}
Add(Hub,14557135,147,259)
{
OutCount=3
link(onEvent1,7093224:doData,[])
link(onEvent2,6376195:doClear,[(392,272)(392,188)])
link(onEvent3,16271223:doClear,[(420,279)(420,188)])
}
Add(DoData,7093224,182,259)
{
link(onEventData,14513592:doEvent1,[(380,265)(380,181)])
link(Data,6472795:Var3,[(188,103)])
}
Add(GetDataEx,6472795,84,98)
{
Angle=3
link(Data,15391120:Data1,[(27,103)])
}
Add(Hub,11348573,147,119)
{
link(onEvent1,7529276:doData,[])
link(onEvent2,12759256:doSplit,[(193,132)(193,167)])
}
Add(DoData,7529276,196,119)
{
link(onEventData,14513592:doEvent2,[(390,125)(390,188)])
link(Data,13876825:Part1,[(202,107)(146,107)(146,184)(90,184)])
}
Add(Hub,14513592,553,175)
{
InCount=2
link(onEvent1,15493357:doValue,[])
}
Add(MultiStrPart,12759256,224,161)
{
Char=":"
Point(onNotFound)
link(onSplit,12812797:doEvent1,[])
link(Str,13876825:Part2,[(230,149)(164,149)(164,184)(97,184)])
}
Add(Hub,12812797,266,161)
{
link(onEvent1,15791947:doData,[(287,167)(287,146)])
link(onEvent2,9138103:doData,[(290,174)(290,188)])
}
Add(DoData,15791947,294,140)
{
link(onEventData,6376195:doValue,[(496,146)(496,181)])
link(Data,12759256:Part1,[(300,128)(265,128)(265,205)(230,205)])
}
Add(DoData,9138103,301,182)
{
link(onEventData,16271223:doValue,[(527,188)(527,181)])
link(Data,12759256:Part2,[(307,170)(272,170)(272,205)(237,205)])
}
END_SDK
Add(HTTPClient,15548230,469,630)
{
EncType=1
SendTimeout=0
RecvTimeout=0
Point(Proxy)
Point(ProxyUser)
Point(ProxyPass)
Point(onAuthProxy)
Point(doUserAgent)
Point(PostData)
Point(onStateChange)
link(URL,8497007:Data1,[(475,326)(27,326)])
link(FileName,12370419:Var3,[(482,89)])
link(onFinish,14611539:doEvent1,[])
link(Proxy,13621162:Var1,[(489,569)(363,569)])
link(ProxyUser,13621162:Var2,[(496,569)(370,569)])
link(ProxyPass,13621162:Var3,[(503,569)(377,569)])
link(PostData,7261211:Var2,[])
}
Add(Hub,14248019,294,511)
{
InCount=2
OutCount=9
link(onEvent1,14530608:doWork1,[(476,517)(476,482)])
link(onEvent3,15548230:doAbort,[(388,531)(388,650)])
link(onEvent4,13621162:doWork1,[(332,538)(332,482)])
link(onEvent5,6427523:doCompare,[(354,545)(354,524)])
link(onEvent6,7872358:doStop,[(320,552)(320,590)(275,590)(275,629)])
link(onEvent7,7872358:doStopFlag,[(320,559)(320,597)(275,597)(275,636)])
link(onEvent8,7872358:doStart,[(320,566)(320,594)(275,594)(275,622)])
link(onEvent9,13836572:doTimer,[(224,573)(224,657)])
}
Add(DoData,11849195,483,483)
{
link(onEventData,15548230:doUserAgent,[(523,489)(523,657)])
link(Data,12678903:Value,[(489,457)(552,457)])
}
Add(If_else,6427523,399,518)
{
link(onTrue,11849195:doData,[(457,524)(457,489)])
link(onFalse,331164:doData,[(457,531)(457,538)])
link(Op1,13791153:Var2,[])
link(Op2,15484997:Value,[(412,496)(433,496)])
}
Add(GetDataEx,13791153,399,427)
{
link(Data,8497007:Data3,[(405,270)(41,270)])
}
Add(DoData,331164,483,532)
{
link(Data,13791153:Var3,[(489,432)])
}
Add(Memory,15484997,427,441)
{
Default=String()
}
Add(Memory,12678903,546,399)
{
Default=String(Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20100101 Firefox/52.0)
}
Add(Thread,7872358,287,616)
{
Delay=200
FastStop=0
BusyEvent=1
Point(doStopFlag)
link(onExec,7757213:doCompare,[])
}
Add(Hub,14611539,595,637)
{
OutCount=4
link(onEvent1,8497007:onEvent1,[(729,643)(729,27)])
link(onEvent2,13836572:doStop,[(621,650)(621,657)(226,657)(226,664)])
link(onEvent3,8853896:doEvent2,[(621,657)(621,580)(590,580)(590,503)])
}
Add(Memory,12182215,686,476)
{
Default=String(1)
}
Add(ChanelToIndex,14530608,644,476)
{
link(onIndex,12182215:doValue,[])
}
Add(If_else,4805872,63,532)
{
link(onTrue,14248019:doEvent1,[(195,538)(195,517)])
link(Op1,131268:Var1,[(69,520)])
link(Op2,408112:Var1,[(76,460)])
}
Add(Memory,4091188,112,357)
{
Default=String(1)
}
Add(Timer,13836572,231,651)
{
Interval=10000
Enable=1
AutoStop=1
link(onTimer,8853896:doEvent1,[(478,657)(478,496)])
}
Add(Hub,8853896,602,490)
{
InCount=2
link(onEvent1,14530608:doWork2,[(630,496)(630,489)])
}
Add(GetDataEx,7261211,504,609)
{
link(Data,8497007:Data4,[(510,326)(48,326)])
}
Add(If_else,2380603,112,532)
{
link(Op1,3845612:Var1,[(118,513)(268,513)(268,660)])
link(Op2,408112:Var3,[(125,460)])
}
Add(GetDataEx,408112,112,455)
{
link(Data,4091188:Value,[])
}
Add(If_else,7757213,357,616)
{
link(onTrue,15548230:doLoadString,[(429,622)(429,636)])
link(onFalse,15548230:doLoadFile,[(429,629)(429,643)])
link(Op1,12370419:Var2,[(363,318)(55,318)])
link(Op2,9439140:Value,[(370,390)(398,390)])
}
Add(GetDataEx,12370419,49,84)
{
link(Data,8497007:Data5,[])
}
Add(Memory,9439140,392,133)
{
}
Add(FormatStr,5440559,322,693)
{
DataCount=3
Mask="Переменная %1 (дб 1) Поток %2 (дб 0) ХТТП Статус %3"
link(onFString,8497007:onEvent2,[(652,699)(652,34)])
link(Str1,131268:Var2,[(328,609)(692,609)])
link(Str2,3845612:Var3,[(335,660)])
link(Str3,15548230:Status,[(342,684)(475,684)])
}
Add(Timer,7955274,266,700)
{
Interval=1
link(onTimer,5440559:doString,[(310,706)(310,699)])
}
Add(GetDataEx,131268,686,515)
{
link(Data,12182215:Value,[])
}
Add(GetDataEx,3845612,287,655)
{
link(Data,7872358:Busy,[])
}
END_SDK

Суть проблемы такова, есть программа, которая использует этот код для отправки запросов Post на адрес с периодичностью 4 сек.

Первые пару часов все идет нормально

После пары часов (и приблизительно 2+ тысяч успешно отправленных запросов) Программа перестает отправлять их. Тоесть, поток для отправки как бы запускается, но самой отправки нет.
Так же, после 2-х часов перестают открываться URL при помощи WinExec (Хотя в первые два часа все работает прекрасно)

Через минут 5 после этого программа закрывается!

Подскажите, что это может быть?

Если что, то поток я использую по совету из обсуждения Http компонентов (если его не использовать, программа подвисает немного во время отправки запроса)

P.S. Во время тестирования я отключал другие функции программы полностью и даже выводил этот кусок отдельно
карма: 0

0
Редактировалось 2 раз(а), последний 2021-02-09 19:32:39