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

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

Socket и Stream [D7, WinXP]


Ural_angel ©   (2007-02-02 09:19:00) 

Проблема такая:
В ServerSocket передаю передаю поток (ClientSocket.Socket.SendStream(MyStream))...
... как его принять в ClientSocket ???


medved_68   (2007-02-02 16:56:00) [1]


> только возникла еще одна ситуация... Как узнать размер передаваемых
> данных???

Ural_angelя делал так:
var
pot1:TMemoryStream;pot2:TFileStream;ax:int64;
begin
pot1:=TMemoryStream.Create;
pot2:=TFileStream.Create('c:\myfile.txt,fmOpenRead);
ax:=pot2.Size;
pot1.WriteByffer(ax,8);//Забиваем размер
pot1.CopyFrom(pot2,ax);
pot2.Free;
........
.......
В результате мы имеем в начале передаваемого потока размер данных которые хотим передать. Ну а на приеме вытягиваем из буфера первые 8 байт в переменную, остальное сливаем в поток и в процессе приема делаем сравнение размера потока с переменной.


SpellCaster   (2007-02-02 13:38:00) [2]

> Как узнать размер передаваемых данных???

Передавать сигнатуру конца пакета


Сергей М.   (2007-02-02 09:49:00) [3]


> Как узнать размер передаваемых данных?


Никак, если передающая сторона сама не скажет об этом принимающей стороне.


Ural_angel   (2007-02-02 09:48:00) [4]

Спасибо!!!
... только возникла еще одна ситуация... Как узнать размер передаваемых данных???


Сергей М.   (2007-02-02 09:34:00) [5]

ReceiveBuf


Наверх

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