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

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

Передача файла через TClient и TServer -Socket [D6, Win2k]


Страницы:   1 2

axx ©   (2004-01-28 16:04:00) 

Господа дайте совет пожалуйста по поводу GPRS. Делаю следующее режу файл на куски и отправляю первый , жду один байт подтверждения приема, засылаю следующий кусок и т.д..
Проблема в следующем передача идет очень медленно (иногда просто встаёт на минуту) но на фтп который стоит там же где и принимающая софтина я хожу без проблем. Принимающая софтина сделана по тому же принципу только на оборот (Ждет 1 пакет 1024, шлет подтверждения 1 байт).

Где грабли ??? Может у меня с логикой тово..... :)))

P:pointer;

MS.Seek(0,soFromBeginning);// Поток с передаваемым файлом
//Режу поток на кусочки по 1024 и передаю
For i:=1 to (MS.Size div 1024) do begin  
    MS.ReadBuffer(P^,1024);
    fSocketStream.WriteBuffer(p^,1024);
    //Жду 1 байт подтверждения прочтению
    if fSocketStream.WaitForData(100000) then begin
         fSocketStream.ReadBuffer(g,1);
    end;
    MS.Seek(i*1024,soFromBeginning);
end;
....


Reindeer Moss Eater   (2004-01-28 16:09:00) [21]

TCP сам шлет нужные подтверждения, только этажом ниже.
Зачем еще на прикладном уровне квитированием заниматься?


Страницы:   1 2

Наверх

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