Форум: "Сети";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];
ВнизClient@Server Найти похожие ветки
← →
Leny (2002-09-03 13:45) [0]Мастера! Как из десятка подсоединившихся к серверу клиентов выбрать одного(с необходимым мне 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:55) [1]
> Как из десятка подсоединившихся к серверу клиентов выбрать
> одного
Ты ж самой себе противоречишь : "выбор" варианта всегда означает "перебор" тем или иным способом возможных вариантов с анализом некоего критерия выбора.
В дан.случае
- "возможные варианты" - это список Connections[]
- критерий выбора - элемент этого списка как некий объект имеет общее для всех аналогичных объектов в списке св-во LocalHost с заданным тобой значением "Comp"
Так или иначе - без "перебора" равноправных объектов в некоем списке или множестве никак не обойтись
В кр.случае, если тебя интересует ТОЛЬКО "Comp", можно в событии OnClientConnect зафиксировать ссылку на вновь созданный объект-гнездо с заданным значением LocalHost="Comp" где-то в отдельнолй переменной и обращаться впоследствии к транспортным методам объекта-гнезда непосредственно по ссылке на него в этой переменной
← →
Digitman (2002-09-03 18:58) [2]К тому же, наверно, не LocalHost , а RemoteHost : LocalHost будет для всех гнезд в списке Connections[] одинаков.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c