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

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

Отправка файла через сокеты ! [D6, WinXP]


SeNtiMeL ©   (2003-02-07 22:10:00) 

Проблема заключается в том, чтобы отправить нормально файл через СерверСокет клиенту.
Если использовать SendStream, то все работает (Но нельзя на серевере подсчитать кол-во отправленных байтов).
Я сделал такой код :

// Здесь переменная "b" : Pchar;
ms:= TMemoryStream.Create;
ms.LoadFromFile("f:\test.mp3");
ms.Position:= 0;
Socket.SendText(IntToStr(ms.Size) + #0); //Чтобы клиент получил размер входящего файла).


While ms.Position < ms.Size do
begin

if ms.Size-ms.Position < 1024 then
ms.ReadBuffer(b,ms.Size-ms.Position)
else
ms.ReadBuffer(b,1024);
try
ServerSocket1.Socket.Connections[0].SendBuf(b,SizeOf(b));

except
on E: Exception do ShowMessage("ERROR");
end;


end;

ms.Free;




Но у меня вылетает ошибка при передачи... В Отладке в Дельфях выводи окно CPU и много много циФр :)

В чем я допустил ошибку ?


Polevi   (2003-02-09 13:28:00) [1]

память под b где выделяется


SeNtiMeL   (2003-02-08 18:29:00) [2]

разве никто не может подсказать ?


Наверх

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