Текущий архив: 2002.09.23;
Скачать: CL | DM;
Вниз
Отсылаем 13к, а доходит только 8к. Найти похожие ветки
← →
Ascan_ (2002-07-12 14:57) [0]У TClientSocket и TServerSocket есть ограничения по объему пакета?
Почему отсылая 13к я принимаю только 8к?
Вот пример:
Здесь я отсылаю данные:
...
var
bufText: PChar;
bufSize: integer;
res: integer;
...
begin
...
GetMem(bufText, bufSize); // bufSize= 13262
...
// bufText= "<HTML><HEAD><TITLE>Данная страница..."
res:= ClientSocket1.Socket.SendBuf(bufText^, bufSize); // res= 13262
FreeMem(bufText, bufSize);
...
т.е. тут, вроде бы, все ушло...
А принимаю так:
procedure TMainForm.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
bufText: PChar;
bufSize: integer;
...
begin
bufSize:= Socket.ReceiveLength; // bufSize= 8192 ($2000)
GetMem(bufText, bufSize);
Socket.ReceiveBuf(bufText^, bufSize);
...
И вот чтобы это значило? Уходит 13к, а доходит 8к.
Вот если бы:
res:= ClientSocket1.Socket.SendBuf(bufText^, 13262); // res= 8192
так было бы еще понятно...
Кто подскажет?
← →
Eugene Lachinov (2002-07-12 15:03) [1]Остальные придут попозже :-)
← →
Ascan_ (2002-07-12 15:34) [2]:-) А как бы и поторопить?
потому как:
begin
bufSize:= Socket.ReceiveLength; // bufSize= 8192 ($2000)
GetMem(bufText, bufSize);
Socket.ReceiveBuf(bufText^, bufSize);
...
FreeMem(bufText, bufSize);
// И вот если тут дописать:
bufSize:= Socket.ReceiveLength; // bufSize= 0!
Больше там ничего нет! И второго OnClientRead не приходит.
Страницы: 1 вся ветка
Текущий архив: 2002.09.23;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.007 c