[ICS] Socket à Socket par Buffer
Salut,
à partir d'un socket ICS, je récupère ce qui arrive sur un certain port. Je mets ces données dans un Buffer, puis ensuite, graçe à un autre socket, je renvoi ces données vers un autre port et un autre Host.
Sa à l'air d'a peut près marcher.
Cependant, après la première reception de données, le logiciel se met à bugger.
A mon avis il y a quelque chose que je ne fait pas correctement, voir tout peut-être ^^.
Merci de me donner un petit coup de pouce sur mon code :
Pour info, pour vérifier ce que je reçois, j'affiche le md5 des données dans un Memo (j'affiche uniquement si le md5 est différent).
Je déclare les variables de cette manière :
ABuffer1: TWSocketData;
a,a1:string;
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| procedure TMain.Socket1DataAvailable(Sender: TObject; ErrCode: Word);
begin
with Sender as TWSocket do
try
Socket1.Receive(ABuffer1,strtoint(Edit4.Text));
with Socket do
try
Addr := JvIpAdress1.Text;
Port := Edit1.Text;
Proto := 'udp';
if State = wsClosed then
Connect;
Send(ABuffer1,SizeOf(ABuffer1));
except
on E: Exception do
Log('Error ' + E.Message);
end;
a:=MD5(ABuffer1, sizeof(ABuffer1));
if(a<>a1) then
log(a);
a1:=a;
except
on E: Exception do
Log('Error ' + E.Message);
end;
end; |
Merci, A+