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;
Merci, A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Partager