Вверх ↑
Ответов: 115
Рейтинг: 3
#1: 2024-06-21 09:42:56 ЛС | профиль | цитата
Всех приветствую. Столкнулся с необычным явлением в работе данного компонента с клиентом с типом данных Stream.
Если отправлять на сервер посылки от клиента частотой менее 300 мс, сервер получает не 2 посылки, а 3, причем, если отправить параллельно еще от сервера, то сервер зацикливается и молотит на приеме первую посылку пока не выскочит сообщение: что нельзя уничтожать копию из потока, а после этого runtime 216 (203)...
Это ошибка компонента?

Сервер
Add(MainForm,2953706,210,252)
{
link(onCreate,6926430:doData,[])
}
Add(TCP_ServerEx,12488255,525,336)
{
ServerPort=5001
link(onRead,9346091:doMessage,[])
link(IDC,12488255:##handle,[(531,324)(535,324)(535,380)(538,380)])
link(onconnect,7146650:doSynchronize,[(583,349)(583,461)])
link(onDisconnect,3608743:doSynchronize,[(583,356)(583,496)])
}
BEGIN_SDK
Add(EditMultiEx,5222853,21,21)
{
WorkCount=#6:##open|9:##hselect|6:do_cmd|
EventCount=#6:onRead|9:onconnect|12:onDisconnect|
VarCount=#10:IDC_client|8:##handle|
DataCount=#3:IDC|
Point(##hselect)
Point(##handle)
link(do_cmd,11416243:doConvert,[(35,41)(35,111)])
link(IDC_client,15163308:Value,[(27,179)(181,179)])
}
Add(TCP_Connection,16139110,105,98)
{
DataType=3
link(onRead,7310823:doConvert,[])
link(onConnect,15163308:doValue,[])
link(onDisconnect,5222853:onDisconnect,[(229,118)(229,41)])
}
Add(Memory,15163308,175,105)
{
Point(Data)
link(onData,5222853:onconnect,[(264,111)(264,34)])
link(Data,5222853:IDC,[(181,63)(27,63)])
}
Add(StreamConvertor,11416243,49,105)
{
Mode=7
link(onResult,16139110:doSend,[])
}
Add(StreamConvertor,7310823,238,98)
{
Mode=6
link(onResult,5222853:onRead,[(285,104)(285,27)])
}
END_SDK
Add(DoData,14547041,308,343)
{
link(onEventData,12488255:##hselect,[])
link(Data,12488255:IDC_client,[(314,331)(377,331)(377,380)(531,380)])
}
Add(Hub,10480729,280,343)
{
link(onEvent1,14547041:doData,[])
link(onEvent2,3061428:doData,[])
}
Add(DoData,3061428,364,350)
{
Data=String(привет от сервера!)
link(onEventData,12488255:do_cmd,[])
}
Add(Button,14951833,225,343)
{
Left=55
Top=80
Caption="сервер"
link(onClick,10480729:doEvent1,[])
}
Add(Message,9346091,658,336)
{
Caption="Сервер"
}
Add(DoData,6926430,273,266)
{
Data=Integer(5001)
link(onEventData,12488255:##open,[(369,272)(369,342)])
}
Add(LED,9683659,665,441)
{
Left=215
Top=20
}
Add(Synchronize,7146650,609,455)
{
link(onSync,9683659:doOn,[])
}
Add(Synchronize,3608743,609,490)
{
link(onSync,9683659:doOff,[(653,496)(653,454)])
}

клиент
Add(MainForm,2953706,21,105)
{
link(onCreate,14146200:doOpen,[(338,125)(338,202)])
}
Add(TCP_Client,14146200,623,196)
{
Port=5001
IP="127.0.0.1"
DataType=3
link(onRead,4598029:doConvert,[])
link(onConnect,9683659:doOn,[(688,209)(688,230)])
link(onDisconnect,9683659:doOff,[(688,216)(688,223)])
}
Add(Button,4403601,287,203)
{
Left=175
Top=80
Caption="клиент"
Data=String(Привет от клиента!)
link(onClick,73741:doEvent1,[])
}
Add(LED,9683659,721,210)
{
Left=215
Top=20
}
Add(Message,13702141,819,196)
{
}
Add(Hub,73741,385,203)
{
link(onEvent1,106804:doWork2,[])
link(onEvent2,12356732:doTimer,[])
}
Add(HubEx,106804,469,203)
{
link(onEvent,13373460:doData,[])
}
Add(DoData,13373460,490,203)
{
Data=String(Привет от клиента!)
link(onEventData,14512349:doConvert,[])
}
Add(Timer,12356732,420,210)
{
Interval=200
Enable=1
AutoStop=1
link(onTimer,106804:doWork3,[(473,216)])
}
Add(StreamConvertor,14512349,553,203)
{
Mode=7
link(onResult,14146200:doSend,[(604,209)(604,216)])
}
Add(StreamConvertor,4598029,770,196)
{
Mode=6
link(onResult,13702141:doMessage,[])
}

карма: 0

0
Редактировалось 3 раз(а), последний 2024-06-21 10:04:21