Показать сообщение отдельно
  #1  
Старый 16.08.2011, 19:29
Yurk@@@ Yurk@@@ вне форума
Прохожий
 
Регистрация: 16.11.2009
Сообщения: 21
Репутация: 10
По умолчанию Передача видео по сети (Indy)

Всем привет!
Делаю что то вроде видео наблюдения. Есть один сервак (осуществляет видео захват) и клинет (принимает видео). Всё работает!
Как сделать чтобы сервак раздавал видео нескольким клиентам?
Вот код сервера:
Код:
procedure TForm1.ImageServerTIdCommandSendImageCommand(
  ASender: TIdCommand);
var  temp:boolean;
begin
try
 repeat
  try
   temp:=true;
   fStream.Clear;
   fStream.Position:=0;
   mybmp.SaveToStream(fStream);
   except
      temp:=false;
   end;
 until temp;
  ASender.Thread.Connection.WriteStream(fStream, True, True);
 finally
 end;
end;

Вот код клиента:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
form1.IdTCPClient1.WriteLn('<SendImage>');
      stream.Position:= 0;
      form1.IdTCPClient1.ReadStream(stream);
      stream.Position:= 0;
      jp.LoadFromStream(stream);
      form1.Image1.Canvas.StretchDraw(form1.Image1.ClientRect,jp);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
JP:=TBitMap.Create;
Stream:=TMemoryStream.Create;
form1.IdTCPClient1.Connect();
end;

Знаю что код заточен под одного клиента, я просто не знаю другого варианта, поэтому прошу помощи.
Ответить с цитированием