Вниз
Скачать: CL | DM;

Размер буфера в scktscomp.pas   Найти похожие ветки 

← →
RGV ©   (2009-03-24 07:19) [0]

При посылке сообщения свыше 4 кб. на принимающей стороне событие onRead "срабатывает" 2 раза.
Полагаю нужно в ScktsComp.pas изменить размер буфера.
Подскажите пожалуйста, можно ли считать размер буфера и изменить и как?
Спасибо.


← →
Сергей М. ©   (2009-03-24 08:21) [1]

Не надо ничего менять.
Изменение размера буфера не гарантирует ожидаемую тобой "однократность срабатывания" - это особенность TCP.


← →
brother ©   (2009-03-24 08:26) [2]

возможно, размер так и сделан, чтоб 4 Кб за раз, а остальное... это уже другое)


← →
RGV ©   (2009-03-24 08:28) [3]

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


← →
brother ©   (2009-03-24 08:31) [4]

что смущает то?


← →
brother ©   (2009-03-24 08:33) [5]

посыл команды, клиент получает команду и начинает получать данные, складывая в буффер, как только пришел посыл команды (типа конец передаче), то работаем с буффером ;)


← →
RGV ©   (2009-03-24 08:35) [6]

procedure TForm1.csClientRead(Sender: TObject;  Socket: TCustomWinSocket);
var
 msg:string;
begin
 Msg := Socket.ReceiveText;
 ReceiveMsg(msg);
end;

Procedure TForm1.ReceiveMsg(message:string);
var
 cmd,msg:string;
begin
 cmd:=copy(message,1,4);  
 msg:=copy(message,5,length(message)-4);
 if cmd="...." then
 begin
   //bla bla bla
 end;
end;


← →
brother ©   (2009-03-24 08:36) [7]

и что это?


← →
RGV ©   (2009-03-24 08:40) [8]

:D ну ... я примерно написла так как уменя происходит :D а что?


← →
brother ©   (2009-03-24 08:41) [9]

алгоритм в [5] понятен? если да - вперед, реализовывать!


← →
RGV ©   (2009-03-24 08:42) [10]

Кароче понятно. Последую совету [5]


← →
brother ©   (2009-03-24 08:45) [11]

> :D ну ... я примерно написла так как уменя происходит :D
> а что?

из анкеты:
Реальное имя: Gennadiy
Пол: Мужской
О_о

зы
> Кароче понятно.

дай то бог;)


← →
RGV ©   (2009-03-24 08:46) [12]

ээээээ опечатка однако


← →
brother ©   (2009-03-24 08:47) [13]

нюню ;)


← →
RGV ©   (2009-03-24 08:49) [14]

:)


← →
Сергей М. ©   (2009-03-24 12:28) [15]


> А что делать, если у меня в каждом сообщении в начале идет
> команда, а потом сообщение


Аккумулируй на стороне приемника поступающий поток данных до получения целого сообщения (сообщения ожидаемого приемником размера) и только потом делай бла-бла-бла



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.005 c
4-1248152773
Dmitriy
2009-07-21 09:06
2011.05.29
строка "Дополнительные команды инициализации"


1-1255507938
defen
2009-10-14 12:12
2011.05.29
исключение для EDBEngineError


9-1189349370
Dib@zol
2007-09-09 18:49
2011.05.29
Проблема с текстурами


11-1234561669
<>
2009-02-14 00:47
2011.05.29
Подскажите как обратиться к свойству text компонента TKOLEditBox?


15-1297167332
Копир
2011-02-08 15:15
2011.05.29
Страна дураков или?




   Наверх