socket发送数据的问题(急!)
服务器端一1000ms的速度向客户端发送数据,数据的大小为每次8K.
procedure Tmain.Timer4Timer(Sender: TObject);
var
m,i,n,j:integer;
x,y,z,w:integer;
tem:real;
count:integer;
data1:array[1..16,1..512]of shortint;
begin
Count:=Server.Socket.ActiveConnections;
for i:=0 to Count-1 do
begin
Server.Socket.Connections[i].Sendbuf(data1,SizeOf(data1));
end;
客户端接受数据并处理
procedure Tmain.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
TotalLen:Integer;
len,m,i,n,j:integer;
count:integer;
tem:real;
data1:array[1..16,1..512]of shortint;
begin
Len:=Socket.ReceiveLength;
Socket.ReceiveBuf(data1,sizeof(data1));
TotalLen:=TotalLen+ len;
S1.Panels.Items[1].Text:='Total Received (Byte): ' + IntToStr(TotalLen);
S1.Update();
end;
问题是为什么有时候可以收到8192,大多数时候却只能收到3812字节?
将发送时间改大也不行,这是为什么啊?请大家帮帮忙!谢谢!!!