Ok,
j essaie d envoyer un tableau de byte d un PC a un autre PC,
tant que ce tableau ne dépasse pas 1 koctet(array [0..1023] of byte), l application marche correctement, mais des que j augmente la taille du buffer(array [0..4096] of byte par exemple) le socketclient envoie le tableau mais du coté serveur je ne recois rien du tout, et aucun message d erreur n apparait me signalant que l envoi ne s est pas réalisé)
voici une partie du code
//coté client
procedure envoi;
var
tampon: array [0..4095] of byte;
..........
begin
// tout d abord j ai rempli mon tampon avec n importe qu elle valeur juste pour tester
for i:=1 to 4096 do
tampon[i]:=byte('a');
form1.client.Socket.SendBuf(tampon,4096);
end;
//coté serveur
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
nb:integer;
tampon: array[0..4095] of byte;
begin
nb:=socket.receivelength();
socket.receivebuf(tampon,nb);
label1.caption:=inttostr(nb);// -> je constate que nb<4096 (765octets)
socket.sendtext('recus');
end;
Voila j espere ke j ai eté un peu plus clair
je pense aussi comme toi , c possible ke ca soit un bug des sockets , mais j aimerais en etre sur.