Вверх ↑
Этот топик читают: Гость
Ответов: 125
Рейтинг: 6
#1: 2017-08-05 23:11:14 ЛС | профиль | цитата
Прошу прощения, вопрос исчерпан, сам решил проблему
Приветствую, форумчане! Была простая задача, подключение клиента к серверу, но если сервер не включён, приходится ждать большой тайм-аут, решил прозвонить сначала порт, заодно и вывести табличку, о процессе подключения. Но как я только не пытался костылить, всё впустую. Прошу помощи
Клиент, красивая версия:
Add(MultiElement,1368197,196,245)
{
link(onEvent2,4652708:doWork1,[])
link(Data1,8741683:Value,[])
link(Data2,5093307:Value,[])
}
BEGIN_SDK
Add(EditMulti,11951697,21,21)
{
EventCount=2
WorkCount=1
DataCount=2
Width=272
Height=95
link(doWork1,10234745:doSend,[(197,27)(197,90)])
}
Add(IndexToChanel,1267642,70,63)
{
Point(Index)
link(onEvent1,16256800:doPortIsOpen,[])
link(Index,10234745:Active,[(76,51)(24,51)(24,110)(209,110)])
}
Add(ChanelToIndex,3414216,245,77)
{
link(onIndex,11951697:onEvent2,[(285,83)(285,34)])
}
Add(TCPStat,16256800,112,49)
{
Point(doPortIsOpen)
Point(onPortIsOpen)
Point(IP)
Point(Port)
link(onPortIsOpen,5973053:doEvent,[])
link(IP,12688480:Var2,[])
link(Port,15988071:Var2,[])
}
Add(IndexToChanel,5973053,154,63)
{
link(onEvent2,10234745:doOpen,[])
}
Add(Timer,16677058,28,63)
{
Interval=2000
link(onTimer,1267642:doEvent,[])
}
Add(TCP_Client,10234745,203,70)
{
Point(onError)
link(onRead,11951697:onEvent1,[(277,76)(277,27)])
link(onConnect,3414216:doWork1,[])
link(onDisconnect,3414216:doWork2,[])
link(IP,12688480:Var3,[(209,38)])
link(Port,15988071:Var3,[(223,29)])
}
Add(GetDataEx,12688480,112,33)
{
Angle=3
link(Data,11951697:Data1,[(27,38)])
}
Add(GetDataEx,15988071,119,24)
{
Angle=3
link(Data,11951697:Data2,[(34,29)])
}
END_SDK
Add(Memory,8741683,196,196)
{
Default=String(127.0.0.1)
}
Add(Memory,5093307,203,203)
{
Default=String(852)
}
Add(ChildForm,4652708,238,252)
{
}
BEGIN_SDK
Add(EditMulti,3566368,21,21)
{
WorkCount=1
Width=132
Height=109
link(doWork1,7784463:doEvent,[(28,27)(28,55)])
}
Add(MainForm,2982949,98,28)
{
Left=35
Top=105
Width=387
Height=104
KeyPreview=1
Caption="Добавление"
BorderStyle=6
Position=1
Point(doShowModal)
Point(onShow)
}
Add(Label,1319917,105,84)
{
Left=10
Top=10
Width=350
Height=41
Font=[MS Sans Serif,24,0,0,1]
Caption="Соединение с сервером"
}
Add(Label,15099949,98,77)
{
Left=5
Top=55
Width=378
Height=41
Font=[MS Sans Serif,24,0,0,1]
Caption="Пожалуйста, подождите..."
}
Add(IndexToChanel,7784463,42,49)
{
link(onEvent1,2982949:doClose,[])
link(onEvent2,2982949:doShowModal,[])
}
END_SDK
Клиент, костыльная версия
Осторожно! Можно сломать ноги
Add(MultiElement,1368197,196,245)
{
link(onEvent2,4652708:doWork1,[])
link(Data1,8741683:Value,[])
link(Data2,5093307:Value,[])
}
BEGIN_SDK
Add(EditMulti,11951697,21,21)
{
EventCount=2
WorkCount=1
DataCount=2
Width=678
Height=375
link(doWork1,10234745:doSend,[(193,27)(193,104)])
}
Add(IndexToChanel,1267642,196,189)
{
Point(Index)
link(onEvent1,16256800:doPortIsOpen,[(236,195)(236,181)])
link(onEvent2,3348101:doWork2,[])
link(Index,10234745:Active,[(202,149)(370,149)])
}
Add(ChanelToIndex,3414216,441,189)
{
link(onIndex,7898658:doData,[])
}
Add(TCPStat,16256800,245,161)
{
Point(doPortIsOpen)
Point(onPortIsOpen)
Point(IP)
Point(Port)
link(onPortIsOpen,16739276:doEvent1,[])
link(IP,12688480:Var2,[])
link(Port,15988071:Var2,[])
}
Add(IndexToChanel,5973053,315,175)
{
link(onEvent1,11773331:doWork1,[(424,181)])
link(onEvent2,6740693:doData,[])
}
Add(Timer,16677058,119,189)
{
Interval=2000
link(onTimer,14891098:doEvent1,[])
}
Add(ChangeMon,7898658,490,189)
{
link(onData,15851055:doWork1,[])
}
Add(DoData,6740693,364,182)
{
link(onEventData,10234745:doOpen,[(408,188)(408,133)(342,133)(342,90)])
}
Add(TCP_Client,10234745,364,84)
{
Point(onError)
link(onRead,11951697:onEvent1,[(548,90)(548,27)])
link(onConnect,8811296:doEvent1,[(411,97)(411,157)(79,157)(79,202)])
link(onDisconnect,16006294:doEvent1,[(457,104)(457,147)(85,147)(85,188)])
link(IP,12688480:Var3,[(370,52)])
link(Port,15988071:Var3,[(384,43)])
link(onError,3635486:doMessage,[])
}
Add(GetDataEx,12688480,245,47)
{
Angle=3
link(Data,11951697:Data1,[(27,52)])
}
Add(GetDataEx,15988071,252,38)
{
Angle=3
link(Data,11951697:Data2,[(34,43)])
}
Add(Message,3635486,525,105)
{
}
Add(Hub,16006294,91,182)
{
link(onEvent1,11773331:doWork2,[(270,188)(270,195)])
link(onEvent2,16677058:doTimer,[])
}
Add(HubEx,11773331,420,189)
{
link(onEvent,3414216:doWork1,[])
}
Add(MT_ChanelToIndex,15851055,539,189)
{
link(onIndex,11951697:onEvent2,[(610,195)(610,34)])
}
Add(Hub,16739276,287,175)
{
link(onEvent1,5973053:doEvent,[])
link(onEvent2,3611616:doWork2,[(306,188)(306,237)])
}
Add(ChanelToIndex,3611616,343,224)
{
Count=3
link(onIndex,15851055:doWork2,[(530,230)(530,202)])
}
Add(Hub,14891098,168,189)
{
link(onEvent1,1267642:doEvent,[])
link(onEvent2,3611616:doWork1,[(189,202)(189,230)])
}
Add(Hub,8811296,84,196)
{
link(onEvent1,16677058:doStop,[])
link(onEvent2,10483941:doEvent1,[(108,209)(108,244)])
}
Add(Hub,10483941,287,238)
{
link(onEvent1,3611616:doWork3,[])
link(onEvent2,3348101:doWork3,[(424,251)])
}
Add(HubEx,3348101,420,196)
{
link(onEvent,3414216:doWork2,[])
}
END_SDK
Add(Memory,8741683,196,196)
{
Default=String(127.0.0.1)
}
Add(Memory,5093307,203,203)
{
Default=String(852)
}
Add(ChildForm,4652708,238,252)
{
}
BEGIN_SDK
Add(EditMulti,3566368,21,21)
{
WorkCount=1
link(doWork1,3042475:doEvent,[(45,27)(45,55)])
}
Add(MainForm,2982949,189,133)
{
Left=35
Top=105
Width=387
Height=104
KeyPreview=1
Caption="Добавление"
BorderStyle=6
Position=1
Point(doShowModal)
Point(onShow)
}
Add(Label,1319917,175,70)
{
Left=10
Top=10
Width=350
Height=41
Font=[MS Sans Serif,24,0,0,1]
Caption="Соединение с сервером"
}
Add(Label,15099949,172,67)
{
Left=5
Top=55
Width=378
Height=41
Font=[MS Sans Serif,24,0,0,1]
Caption="Пожалуйста, подождите..."
}
Add(IndexToChanel,7784463,119,161)
{
link(onEvent1,2982949:doShowModal,[])
link(onEvent2,2982949:doClose,[(170,174)(170,160)])
}
Add(MT_IndexToChanel,3042475,70,49)
{
link(onEvent1,7784463:doEvent,[(112,55)(112,167)])
link(onEvent2,9457085:doText,[])
}
Add(Label,9457085,126,56)
{
Left=365
Top=5
Width=15
}
END_SDK
Сервер:
Add(TCP_Server,14710546,140,98)
{
Port=852
}
Add(Button,8025693,98,98)
{
Left=35
Top=10
Width=65
Caption="Connect"
link(onClick,14710546:doOpen,[])
}
Add(Button,1152113,98,133)
{
Left=35
Top=30
Width=65
Caption="Disconnect"
link(onClick,14710546:doClose,[(135,139)(135,111)])
}
Мне кажется, то проблема именно в окне ожидания, но знаний подтвердить или опровергнуть это не хватает)

Редактировалось 8 раз(а), последний 2017-08-05 23:48:53
карма: 0

0
vip
#1.1контекстная реклама от партнеров
1
Сообщение
...
Прикрепленные файлы
(файлы не залиты)