Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26305
Рейтинг: 2146
#16: 2008-09-26 15:30:28 ЛС | профиль | цитата
Во, пример заработал.
------------ Дoбавленo:

Во, и мультисервер в моей проге, тоже заработал
карма: 22

0
Ответов: 2125
Рейтинг: 159
#17: 2008-09-26 15:34:52 ЛС | профиль | цитата
Ясное дело. Обработчик OnRead не копировался. А в TCP_ServerEx он вызовом Attach устанавливался...
карма: 1

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#18: 2008-09-26 15:37:42 ЛС | профиль | цитата
Жаль, не успел коды сравнить, вспомнил, когда уже поверх записал.
Ну что, можно обновлять, или еще потестим (что-то тестильщиков малова-то, правда)
карма: 22

0
Ответов: 2125
Рейтинг: 159
#19: 2008-09-26 15:44:47 ЛС | профиль | цитата
Надо обновить, тогда и тестильщики появятся в следующей версии
------------ Дoбавленo:

nesco писал(а):
Жаль, не успел коды сравнить, вспомнил, когда уже поверх записал

Добавилась всего одна строка: OnRead := par.OnRead;
карма: 1

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#20: 2008-09-26 15:47:48 ЛС | профиль | цитата
tsdima писал(а):
Надо обновить, тогда и тестильщики появятся в следующей версии

Ну, дык, кто ж мешает
карма: 22

0
Ответов: 2125
Рейтинг: 159
#21: 2008-09-26 16:12:40 ЛС | профиль | цитата
Надо послушать начальника транспортного цеха.
карма: 1

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#22: 2008-10-19 10:14:10 ЛС | профиль | цитата
Может уже молчание - знак согласия?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#23: 2009-01-18 03:21:36 ЛС | профиль | цитата
Добавил на свой страх и риск, если что -- откатим

карма: 22

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#24: 2009-01-18 03:24:40 ЛС | профиль | цитата
tsdima, опять косяки обнаружил
Вот схемка, на основе предыдущей (которая выше по топику)

code_11455.txt

При коннекте выставляет число подключений (в схеме одно на канал).
Почему при дисконнекте клиента число подключений остается на месте, а при подключении клиента снова увеличивается на один, те постоянно растет, а должно оставаться на месте

Со старым юнитом такого не наблюдается
То же самое наблюдается и при выходе из приложения, коннект остается "как бы" подключенным, хотя, клиент уже закрыт.
карма: 22

0
файлы: 1code_11455.txt [4KB] [227]
Ответов: 2125
Рейтинг: 159
#25: 2009-01-18 16:21:28 ЛС | профиль | цитата
Да, по идее, закрытый сокет удалять нужно. Я исправил на SVN, но теперь надо проверять TCP_ServerEx, точнее, теперь не подходит реализация THITCP_Client.Destroy, т.к. сокет нужно удалять только тогда, когда он был создан в THITCP_Client._work_doOpen.
------------ Дoбавленo:

THITCP_Client тоже поправил.
карма: 1

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#26: 2009-01-18 18:01:29 ЛС | профиль | цитата
tsdima, продолжение следует

Вот в этой схеме попробуй закрыть все сервера по ##clear. Деструктор ведь должен закрывать все коннекты автоматом, а вот этого не получается, раньше удавалось их так закрыть, теперь -- фигу



Add(MainForm,12550039,126,182)
{
Width=435
link(onCreate,10635367:doEvent1,[])
}
Add(MultiElementEx,9100479,504,196)
{
Mode=1
link(onRead,2035752:doAdd,[(583,202)(583,181)])
link(onConnect,3008540:doAdd,[(583,209)(583,251)])
link(Count,5220341:doValue,[])
}
BEGIN_SDK
Add(EditMultiEx,2923648,21,21)
{
WorkCount=#5:##add|8:##select|7:##clear|
EventCount=#6:onRead|9:onConnect|5:Count|
VarCount=#7:##count|7:##index|
Point(##add)
Point(##select)
Point(##count)
Point(##index)
Point(##clear)
link(##add,4816290:doEvent1,[(53,27)(53,48)])
link(##select,416595:doData,[(45,34)(45,188)])
}
Add(TCP_Server,6315885,147,126)
{
link(onRead,2923648:onRead,[(250,132)(250,27)])
link(onConnect,235507:doString,[])
link(Port,1425605:Var2,[])
}
Add(Memory,14877717,154,42)
{
}
Add(Hub,4816290,84,42)
{
link(onEvent1,14877717:doValue,[])
link(onEvent2,6315885:doOpen,[(122,55)(122,132)])
}
Add(FormatStr,235507,196,133)
{
Mask="%1 : %2"
link(onFString,2923648:onConnect,[(274,139)(274,34)])
link(Str2,1425605:Var3,[(209,100)])
}
Add(GetDataEx,1425605,147,91)
{
link(Data,14877717:Value,[])
}
Add(DoData,416595,147,182)
{
link(onEventData,2923648:Count,[(285,188)(285,41)])
link(Data,6315885:Count,[])
}
END_SDK
Add(ListBox,3370850,322,119)
{
Left=10
Top=10
Width=120
Height=120
Strings=#4:7777|4:7766|
}
Add(Timer,3877434,161,441)
{
link(onTimer,16267695:doEvent1,[])
}
Add(ListBox,3008540,623,245)
{
Left=135
Top=10
Width=120
Height=120
}
Add(TCP_Client,11266538,357,427)
{
Port=7777
IP="127.0.0.1"
}
Add(Button,6750435,273,364)
{
Left=10
Top=180
Caption="7777"
link(onClick,11266538:doOpen,[(331,370)(331,433)])
}
Add(Button,3770758,273,525)
{
Left=10
Top=205
Caption="7766"
link(onClick,3241516:doOpen,[])
}
Add(Hub,16267695,217,441)
{
link(onEvent1,8827271:doData,[])
link(onEvent2,1127214:doData,[(261,454)(261,489)])
}
Add(DoData,8827271,273,441)
{
Data=String(7777)
link(onEventData,11266538:doSend,[])
}
Add(DoData,1127214,273,483)
{
Data=String(7766)
link(onEventData,3241516:doSend,[(331,489)(331,545)])
}
Add(TCP_Client,3241516,357,525)
{
Port=7766
IP="127.0.0.1"
}
Add(ArrayEnum,5550405,336,196)
{
link(onItem,9100479:##add,[])
link(Array,3370850:Array,[])
}
Add(ListBox,2035752,623,175)
{
Left=135
Top=135
Width=120
Height=120
}
Add(Button,3847291,273,399)
{
Left=70
Top=180
Caption="Close"
link(onClick,11266538:doClose,[(324,405)(324,440)])
}
Add(Button,759720,273,560)
{
Left=70
Top=205
Caption="Close"
link(onClick,3241516:doClose,[(324,566)(324,538)])
}
Add(LineBreakEx,13692926,273,266)
{
Caption="Counter"
Type=2
}
Add(Counter,10789559,336,280)
{
Default=-1
Point(Max)
Point(doMax)
link(onNext,8250813:doEvent1,[])
}
Add(Label,8990526,126,224)
{
Left=260
Top=15
Width=28
Height=17
Caption="7777"
}
Add(Label,10319306,126,266)
{
Left=260
Top=40
Width=28
Height=17
Caption="7766"
}
Add(Edit,4674888,623,322)
{
Left=295
Top=15
Text=""
}
Add(Edit,7093393,623,371)
{
Left=295
Top=40
Text=""
}
Add(IndexToChanel,16237091,504,322)
{
Point(Data)
Point(Index)
link(onEvent1,4674888:doText,[])
link(onEvent2,7093393:doText,[(580,335)(580,377)])
link(Data,5220341:Value,[(510,282)(566,282)])
link(Index,9100479:##index,[])
}
Add(Memory,5220341,560,210)
{
}
Add(LineBreakEx,8317922,504,252)
{
Caption="Counter"
Type=3
link(_Data,9100479:##count,[])
}
Add(Hub,10635367,182,196)
{
OutCount=3
link(onEvent1,5550405:doEnum,[])
link(onEvent2,3344648:doOperation,[(224,209)(224,307)])
link(onEvent3,7838770:doTimer,[(218,216)(218,230)])
}
Add(Math,3344648,273,301)
{
OpType=1
Op2=1
ResultType=0
link(onResult,10789559:doMax,[])
link(Op1,13692926:getVar,[])
}
Add(Timer,7838770,273,224)
{
Interval=25
link(onTimer,10789559:doNext,[(321,230)(321,286)])
}
Add(Hub,8250813,399,280)
{
link(onEvent1,9100479:##select,[(459,286)(459,209)])
link(onEvent2,16237091:doEvent,[(459,293)(459,328)])
}
Add(Button,15507099,336,238)
{
Left=40
Top=135
Caption="Close"
link(onClick,9100479:##clear,[(465,244)(465,216)])
}

карма: 22

0
Ответов: 2125
Рейтинг: 159
#27: 2009-01-18 20:23:48 ЛС | профиль | цитата
nesco, нашёл причину, баг был, исправлено на SVN.
карма: 1

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