Форум: "Сети";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизСрочно, как отослать Stream нескольким пользователям (SreverSocke Найти похожие ветки
← →
Morg (2004-02-28 14:22) [0]
for i:=0 to 5 do
begin
ServerSocket2.Socket.Connections[i].SendText(IntToStr(ms.Size) + #0);
ServerSocket2.Socket.Connections[i].SendStream(ms);
end;
Если делать так, программа выкидывает ошибку: Access violation at address 00000018. Read of address 00000018
Что делать? как отослать Stream нескольким соединениям сразу ?
← →
Morg (2004-02-28 15:29) [1]Народ, help !!!!
← →
TButton © (2004-02-28 19:16) [2]а можно весь код... ну не совсем весь, а чтоб понятно было кто такой ms и что ты с ним делал.
← →
Morg (2004-02-28 19:34) [3]
var
ms: TMemoryStream;
begin
ms:=TMemoryStream.Create;
ms.LoadFromFile("C:\img.jpeg");
for i:=0 to 5 do
begin
ServerSocket2.Socket.Connections[i].SendText(IntToStr(ms.Size) + #0);
ServerSocket2.Socket.Connections[i].SendStream(ms);
end;
ms.Free;
end;
← →
TButton © (2004-02-28 19:47) [4]значится так.
во-первых: ты уверен что у тебя есть 6 подключеных клиентов?
солюшен:
var
ms: TMemoryStream;
begin
ms:=TMemoryStream.Create;
ms.LoadFromFile("C:\img.jpeg");
if ServerSocket2.Socket.ActiveConnections>0 then
for i:=0 to ServerSocket2.Socket.ActiveConnections-1 do
begin
if not ServerSocket2.Socket.Connections[i].Connected then Continue;
ServerSocket2.Socket.Connections[i].SendText(IntToStr(ms.Size) + #0);
ServerSocket2.Socket.Connections[i].SendStream(ms);
end;
ms.Free;
end;
выделеные куски можно использовать опционально... т.е. можно использовать, а можно не использовать.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.054 c