Текущий архив: 2011.05.29;
Скачать: 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 вся ветка
Текущий архив: 2011.05.29;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.011 c