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

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

TIdTCPServer + несколько клиентов. [D7]


Страницы:   1 2 3

Gym ©   (2004-03-07 16:31:00) 

Здравствуйте уважаемые мастера.
Подскажите, пожалуйста, как в TIdTCPServer узнать ip и порт, с которого подключился клиент, количество подключённых клиентов. Как отослать каждому клиенту, допустим, текстовую строку.
Спасибо.


Gym   (2004-03-08 15:47:00) [41]

Я тут кое-что придумал:

procedure TfmServer.TCPServerConnect(AThread: TIdPeerThread);
begin
 MThreads[i]:=TIdPeerThread.Create;
 MThreads[i]:=AThread;
 mmLog.Lines.Add(MThreads[i].Connection.Socket.Binding.PeerIP);
 i:=i+1;
end;

procedure TfmServer.Button1Click(Sender: TObject);
var
 n : integer;
begin
 for n:=0 to i-1 do MThreads[n].Connection.Writeln(IntToStr(n));
end;


Если вместо массивов использовать TList то должно получиться сносно,
но придётся следить за каждым клиентом, если он дисконектился находить
и удалять его из списка и т.д.
Должно же быть что-то похожее в самом компоненте? Если кто знает подскажите.


Gym   (2004-03-08 06:02:00) [42]


> S@shka ©   (07.03.04 22:19) [1]
> athread.connection.binding.peerip

Так я получу только ip клиента.
Но главное я не знаю как перебрать всех клиентов приконекченных к серверу и послать им какие-либо данные. Неужели никто не знает, как это делается? Что никто  не писал клиент-серверных приложений, где к серверу подключается больше чем один клиент?
Не сочтите за труд, ответьте пожалуйста.


S@shka   (2004-03-07 22:19:00) [43]

athread.connection.binding.peerip


Страницы:   1 2 3

Наверх

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