Вниз
Скачать: 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 вся ветка

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



Память: 0.45 MB
Время: 0.014 c
14-73889
начинающий програмер
2002-08-29 20:57
2002.09.23
Delphi и глюки


14-73832
VictorT
2002-08-27 15:20
2002.09.23
база функций на этом сайте


7-73913
Александр
2002-07-10 10:41
2002.09.23
Принтеры


14-73835
AL2002
2002-08-27 12:20
2002.09.23
Откуда эти линки в избранном берутся.


3-73533
sniknik
2002-09-01 00:45
2002.09.23
Поддерживает Jet тип Grafic?




   Наверх