Вверх ↑
Ответов: 253
Рейтинг: 0
#1: 2022-05-07 22:23:33 ЛС | профиль | цитата
Подскажите пожалуйста как правильно создать очередь потока данных.
Задумка в том чтобы соотнести клиентов сервера(ip) с именами компьютеров

В таком виде вроде работает

Add(TCP_Server,9564573,238,161)
{
Port=4545
DataType=3
link(onRead,1570422:doGet,[])
link(onConnect,13607125:doData,[(282,174)(282,192)(58,192)(58,209)])
}
Add(TCP_Client,1132208,315,420)
{
Port=4545
IP="127.0.0.1"
DataType=3
link(onRead,14927282:doUnPack,[])
}
Add(DoData,3501930,154,434)
{
Data=String()
link(onEventData,12524206:doWork1,[])
link(Data,10497356:CompName,[])
}
Add(StreamPack,14434465,245,434)
{
DataCount=#10:тип данных|6:данные|0:|
link(onPack,1132208:doSend,[])
link(данные,12524206:Data,[(258,422)(230,422)(230,478)(202,478)])
}
Add(ChanelToIndex,12524206,196,434)
{
Count=3
Point(Data)
link(onIndex,14434465:doPack,[])
}
Add(StreamUnPack,4967146,350,168)
{
DataCount=#10:тип данных|6:данные|1:4|0:|
link(onUnPack,16510364:doEvent,[(394,174)(394,167)])
}
Add(IndexToChanel,16510364,406,161)
{
Count=4
Point(Index)
Point(Data)
link(onEvent1,4714348:doValue,[])
link(Index,4967146:тип данных,[(412,149)(397,149)(397,209)(356,209)])
link(Data,4967146:данные,[(419,144)(391,144)(391,205)(363,205)])
}
Add(Button,2666426,182,294)
{
Left=15
Top=15
Width=110
Caption="Подключиться"
link(onClick,1132208:doOpen,[(289,300)(289,426)])
}
Add(MT_Get,1570422,287,161)
{
link(onData,7463045:doStrCatDlm,[(383,167)(383,230)])
link(onGet,4967146:doUnPack,[])
}
Add(StrCatDelim,7463045,441,224)
{
Delimiter=";"
link(onStrCatDlm,5219673:doAdd,[])
link(Str2,4714348:Value,[])
}
Add(Memory,4714348,448,161)
{
}
Add(DoData,13607125,70,203)
{
Data=String(!info!1!info!)
link(onEventData,3253775:doWork1,[])
}
Add(StreamPack,10662291,161,203)
{
DataCount=#10:тип данных|6:данные|0:|
link(onPack,9564573:doSend,[(215,209)(215,181)])
link(данные,3253775:Data,[(174,177)(153,177)(153,247)(125,247)])
}
Add(ChanelToIndex,3253775,119,203)
{
Count=1
Point(Data)
link(onIndex,10662291:doPack,[])
}
Add(StreamUnPack,14927282,378,420)
{
DataCount=#10:тип данных|6:данные|1:4|0:|
link(onUnPack,4440037:doEvent,[(422,426)(422,419)])
}
Add(IndexToChanel,4440037,434,413)
{
Count=3
Point(Index)
Point(Data)
link(onEvent1,59653:doSearch,[])
link(Index,14927282:тип данных,[(440,401)(425,401)(425,461)(384,461)])
link(Data,14927282:данные,[(447,396)(419,396)(419,457)(391,457)])
}
Add(BlockFind,59653,483,413)
{
IncludeBlock=1
StartBlock="!info!"
EndBlock="!info!"
link(onSearch,3501930:doData,[(527,419)(527,429)(142,429)(142,440)])
}
Add(ListBox,5219673,497,224)
{
Left=25
Top=85
Width=330
Height=155
}
Add(ComputerInfo,10497356,147,378)
{
}


Но когда клиентов много и они все одновременно пытаться подключиться, происходит дикий хаус.
карма: 0

0