Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Client@Server


Leny ©   (2002-09-03 13:45:00) 

Мастера! Как из десятка подсоединившихся к серверу клиентов выбрать одного(с необходимым мне Host"ом)и послать ему сообщение?
Есть идея перебирать всех и искать нужное
for i:=0 to ServerSocket1.ComponentCount-1 do
if ServerSocket1.Socket.Connections[i].LocalHost="Comp" then
ServerSocket1.Socket.Connections[i].SendText("Hi!")
Есть ли более простой способ - без перебора - если этот клиент "Comp" постоянно соединен с сервером!
Может общаться с ним на др.порту?


Digitman   (2002-09-03 18:58:00) [1]

К тому же, наверно, не LocalHost , а RemoteHost : LocalHost будет для всех гнезд в списке Connections[] одинаков.


Digitman   (2002-09-03 18:55:00) [2]


> Как из десятка подсоединившихся к серверу клиентов выбрать
> одного


Ты ж самой себе противоречишь : "выбор" варианта всегда означает "перебор" тем или иным способом возможных вариантов с анализом некоего критерия выбора.

В дан.случае
- "возможные варианты" - это список Connections[]
- критерий выбора - элемент этого списка как некий объект имеет общее для всех аналогичных объектов в списке св-во LocalHost с заданным тобой значением "Comp"

Так или иначе - без "перебора" равноправных объектов в некоем списке или множестве никак не обойтись

В кр.случае, если тебя интересует ТОЛЬКО "Comp", можно в событии OnClientConnect зафиксировать ссылку на вновь созданный объект-гнездо с заданным значением LocalHost="Comp" где-то в отдельнолй переменной и обращаться впоследствии к транспортным методам объекта-гнезда непосредственно по ссылке на него в этой переменной


Наверх

Титульная страница Поиск, карта сайта Написать письмо