Вверх ↑
Ответов: 704
Рейтинг: 7
#1: 2018-08-31 17:35:08 ЛС | профиль | цитата
doSendAllAsync в сервере отошлет всем, даже тем кто не завершил передачу данных? Общаюсь с контроллером мега2561 и он бывает теряет некоторые запросы на этот компонент сервера. Может он их теряет потому, что я по событию от одного принятого соединения отправляю данные "принято" сразу всем, и тем соединениям которые ще не успели передать данные? Вот кусочек моего безобразия, уже с мьютексами пошел изгаляться.

Add(SafeMode,13933790,420,133)
{
Name="InServ1"
Wait_Abandoned=0
WaitMode=1
link(onSafeMode,9234107:doEvent,[])
}
Add(SafeMode,6331467,266,91)
{
Name="InServ1"
Wait_Abandoned=0
link(onSafeMode,8053461:doEvent1,[])
}
Add(Switch,14987715,476,91)
{
DataOn=Integer(0)
DataOff=Integer(1)
Default=0
Point(State)
Point(doOn)
}
Add(IndexToChanel,9234107,476,133)
{
Point(Index)
link(onEvent1,11786265:doPop,[])
link(Index,14987715:State,[])
}
Add(Timer,5337033,371,133)
{
Interval=50
Enable=1
link(onTimer,13933790:doSafeMode,[])
AddHint(5,47,27,13,Interval)
AddHint(-79,18,40,13,Enable)
}
Add(Hub,5008916,91,35)
{
OutCount=4
link(onEvent2,3732584:doStartServer,[(193,48)(193,104)])
}
Add(Hub,13568669,581,133)
{
OutCount=4
link(onEvent1,14987715:doReset,[(606,139)(606,83)(466,83)(466,104)])
link(onEvent4,14987715:doOn,[(606,160)(606,174)(466,174)(466,111)])
}
Add(TCPServer,3732584,210,91)
{
Port=234
AsyncEvents=1
OverSend=1
Point(onSend)
Point(onErrorSend)
Point(onErrorStart)
Point(doSendAll)
Point(doSendAsync)
Point(doSendAllAsync)
Point(doCloseAll)
link(onReceive,6331467:doSafeMode,[])
link(Data,13456184:Text,[(216,82)(146,82)(146,145)(160,145)])
link(ClientID,3732584:CurClientID,[(223,82)(237,82)(237,159)(223,159)])
AddHint(79,95,37,13,AsyncEvents)
}
Add(Hub,8053461,315,91)
{
link(onEvent1,3732584:doSendAllAsync,[(340,97)(340,76)(200,76)(200,139)])
link(onEvent2,11786265:doPush,[(459,104)(459,132)])
}
Add(StrList,13456184,154,91)
{
Strings=#15:HTTP/1.1 200 OK|19:Server: nginx/1.2.1|23:Content-Type: text/html|17:Content-Length: 0|0:|0:|
}
Add(Stack,11786265,532,126)
{
link(onPop,13568669:doEvent1,[])
}
карма: 0

0
Редактировалось 1 раз(а), последний 2018-08-31 17:36:15