Всем привет!
Делаю что то вроде видео наблюдения. Есть один сервак (осуществляет видео захват) и клинет (принимает видео). Всё работает!
Как сделать чтобы сервак раздавал видео нескольким клиентам?
Вот код сервера:
Код:
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;
Знаю что код заточен под одного клиента, я просто не знаю другого варианта, поэтому прошу помощи.