Вверх ↑
Ответов: 3851
Рейтинг: 159
#1: 2009-05-24 22:27:54 ЛС | профиль | цитата
в данном случае отключить клиента можно только "попросив" его самого сделать это. То есть при выборе тункта меню "отключить", сервак посылает выбранному клиенту особое сообщение с просьбой отключиться. Клиент, распознав такое сообщение, тупо генерит событие doClose.
------------ Дoбавленo в 22.51:
вот сервак

Add(MainForm,6678,329,119)
{
Left=312
Top=322
Height=215
link(onCreate,20680:doOpen,[])
}
Add(TCP_Server,20680,385,133)
{
Port=180
Point(doSendByIp)
link(onRead,4225999:doAdd,[(431,139)(431,83)])
link(onConnect,12624536:doAdd,[])
link(onDisconnect,3116593:doEvent1,[])
}
Add(MT_AddData,3877925,252,154)
{
PColor(onAdd,16711680)
link(onAdd,16328597:doWork2,[])
link(Data1,695799:Text,[(258,135)(237,135)])
link(Data2,4056195:Text,[(265,135)(286,135)])
}
Add(Edit,695799,231,91)
{
Left=65
Top=135
Text="данные"
}
Add(Edit,4056195,280,91)
{
Left=150
Top=135
Width=60
Text="127.0.0.1"
}
Add(Button,9197703,189,154)
{
Left=225
Top=135
link(onClick,3877925:doAdd,[])
}
Add(ListBox,12624536,525,140)
{
Left=30
Top=15
Width=75
Height=65
Font=[Arial,8,0,0,1]
Point(onMouseDown)
Point(String)
Point(doSelectString)
Point(Index)
link(onMouseDown,4117335:doEvent1,[])
}
Add(MouseEvent,3494615,658,154)
{
}
Add(Hub,4117335,581,154)
{
link(onEvent1,3494615:doClick,[])
link(onEvent2,5147414:doTimer,[(602,167)(602,209)])
}
Add(PopupMenu,14537455,658,196)
{
Menu=#9:отключить|
link(onClick,4493895:doEvent,[])
}
Add(IndexToChanel,4493895,707,196)
{
link(onEvent1,15718527:doAdd,[(747,202)(747,302)(282,302)(282,265)])
}
Add(Timer,5147414,609,203)
{
Interval=100
Enable=1
AutoStop=1
link(onTimer,14537455:doPopupHere,[])
}
Add(MT_AddData,15718527,294,259)
{
PColor(onAdd,16711680)
link(onAdd,16328597:doWork3,[(361,265)])
link(Data1,1567224:Value,[])
link(Data2,12624536:String,[(307,229)(552,229)])
}
Add(HubEx,16328597,357,147)
{
PColor(onEvent,16711680)
link(onEvent,20680:doSendByIp,[])
}
Add(Memory,1567224,294,189)
{
Default=String(слушай, отключись пожалуйста, очень тебя пршу..)
}
Add(RichEdit,4225999,476,77)
{
Left=135
Top=10
Width=120
Height=90
ScrollBars=3
}
Add(Hub,3116593,441,147)
{
link(onEvent1,12624536:doSelectString,[(463,153)(463,188)])
link(onEvent2,13412409:doData,[])
}
Add(DoData,13412409,476,154)
{
link(onEventData,12624536:doDelete,[])
link(Data,12624536:Index,[(482,130)(572,130)(572,204)(559,204)])
}

и клиент

Add(MainForm,2953706,357,196)
{
link(onCreate,96010:doOpen,[])
}
Add(Case,3589760,504,210)
{
Value=String(слушай, отключись пожалуйста, очень тебя пршу..)
link(onNextCase,14313:doAdd,[])
link(onTrue,7973874:doEvent1,[])
}
Add(TCP_Client,96010,441,210)
{
Port=180
IP="127.0.0.1"
link(onRead,3589760:doCase,[])
}
Add(ListBox,14313,595,210)
{
Left=265
Top=15
Width=110
Height=70
Font=[Arial,8,0,0,1]
}
Add(Edit,14281849,357,245)
{
Left=270
Top=100
Width=100
link(onEnter,96010:doSend,[(415,258)(415,230)])
}
Add(Hub,7973874,553,217)
{
link(onEvent1,96010:doClose,[(580,223)(580,189)(430,189)(430,223)])
link(onEvent2,2953706:doCaption,[(582,230)(582,300)(343,300)(343,202)])
}

, делал на скорую руку (показывает только принцип) - проверяй..
карма: 0
начавший
1
Голосовали:lisabon