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

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

Срочно, как отослать Stream нескольким пользователям (SreverSocke [D6, WinXP]


Morg ©   (2004-02-28 14:22:00) 


   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 нескольким соединениям сразу ?


TButton   (2004-02-28 19:47:00) [1]

значится так.
во-первых: ты уверен что у тебя есть 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-1do
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;


выделеные куски можно использовать опционально... т.е. можно использовать, а можно не использовать.


Morg   (2004-02-28 19:34:00) [2]


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:16:00) [3]

а можно весь код... ну не совсем весь, а чтоб понятно было кто такой ms и что ты с ним делал.


Morg   (2004-02-28 15:29:00) [4]

Народ, help !!!!


Наверх

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