Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

вопрос про сокеты (ламерский)   Найти похожие ветки 

 
masaka   (2006-10-20 20:04) [0]

отправляю данные с "сервера"
ServerSocket.SendText("razmer"+IntToStr(st.Size) + #0);
ServerSocket.SendStream(st);

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


 
Dmitrij_K   (2006-10-20 20:58) [1]

неможетбыть
как принимаешь?


 
masaka   (2006-10-20 23:59) [2]

так (на клиент_рид):

S:= Socket.ReceiveText;
if (copy(s, 1, 6)="razmer") and (Data.Size=-1) then
 begin
  tmpS:=copy(s, 7, Pos(#0, s)-7);
  Data.Size:=StrToInt(tmpS);
  Delete(s, 1, Pos(#0, s));
  Data.Buf.Write(s[1], length(s));
  LogWrite("Size "+tmpS);
end
else
begin
 Data.Buf.Write(s[1],length(s));
 LogWrite("+");
 if Data.Buf.Size=Data.Size then
  begin
   Reciving:=false;
   Data.Buf.Position :=0;
   GBase.LoadFromStream(Data.Buf);
   StatusWrite("Complete");
  end;
end;

в результате приема буфер наполняется данными и только в конце тсановится известен размер.. для диагностики вставил запись в лог - выглядит примерно так

+
+
+
+
+
Size 404321


 
Ketmar ©   (2006-10-21 00:07) [3]

data.size <> -1?



Страницы: 1 вся ветка

Текущий архив: 2006.11.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.075 c
15-1160481968
ArtemESC
2006-10-10 16:06
2006.11.05
Нашел путь...


15-1160599116
Mike Kouzmine
2006-10-12 00:38
2006.11.05
Опять протаранили.. :(


15-1160150211
Velimir
2006-10-06 19:56
2006.11.05
Как сделать так чтобы пользователь не нажал на кнопку много раз?


15-1160726370
RWolf
2006-10-13 11:59
2006.11.05
Разный размер приложения при компиляции на разных машинах


15-1161055357
Slider007
2006-10-17 07:22
2006.11.05
С днем рождения ! 17 октября