Probleme de communication Client-serveur en UDP - Delphi/Pascal - Programmation
Marsh Posté le 20-07-2005 à 12:28:58
Bonjour,
Je ne sais pas si je me trompe, mais l'@IP 127.0.01 est bien local a la machine.
Hors le Serveur fait:
centrale.Send('127.0.0.1',9999,edit1.Text+'#'+memo4.Text);
Et envoi donc sur lui même.
Ne doit tu pas envoyer a une machine et donc une autre IP que 127.0.0.1 !!!
La clé du PB se cache certainent dans cette zone.
Marsh Posté le 20-07-2005 à 08:57:10
Bonjour,
J essaie de faire un serveur qui envoie une string a un client en udp
Voila mes 2 codes :
Client:
Code:
procedure TUnThread.Execute;
begin
form5.client.Active:=true;
form5.client.Port:=9999;
form5.client.Host:='127.0.0.1';
while (true) and not Terminated do
Begin
serveur.donnee:= form5.Client.ReceiveString();
// Do somthings
end;
serveur:
Code:
centrale.Active:=true;
centrale.DefaultPort:=9999;
centrale.Send('127.0.0.1',9999,edit1.Text+'#'+memo4.Text);
centrale.Active:=false;
Voila j essaye pour commencer de faire tourner ca en local mais bizzarement aucune donnee n'est transmise.
En fait je m explique, je developpe un systeme qui permet d envoyer des infos sur pleins d ordinateur et je ne dois pas proceder par multicast ( ordre du maitre de stage )
Donc voila, g une centrale d infos qui doit diffuser les infos a pleins de pc.
Je trouvais plus simple de realiser un gros client qui envoie des infos a tout plein de petits serveurs qui ecoutent sur un port donne.
Mon maitre de stage n est pas d accord il veut un serveur et pleins de petits clients.
Mtenant l avantage de l autre technique est qu il existait une methode onRead a implemente ac les compos indy tres simple.
La g un receiveString que g mis ds une thread et qui tourne en permanence chez les clients mais quand le serveur envoie vers un client il ne se passe rien de l autre cote.
Ca fait qqs jours que je galere avec ca je ne vois vraiment plus quoi faire...
merci d avance