Hallo Delphi Programmierer,
ich versuche im Netzwerk und
Lokal die Daten einer Anwendung zu aktualisieren.
Nutze dazu die UDP-Komponenten. Die User die die Anwendung nutzen werden beim Starten
des Programmes mit
IP-ADR in einer Datenbank gespeichert. Das funktioniert auch ganz gut.
Jetzt möchte ich ein Feld (z.B. Memo) bei den Nutzern aktualisieren. Würde dazu
versuchen, einfach über die UDP-Tools einen String an die anderen Programme zu senden,
die dann ihr Memo-Feld aktualisieren (bzw. eine Procedure ausführen).
Das müsste eigentlich auch Funktionieren!
Im Augenblick habe ich dazu das Problem, das ich die UDP Anwendung auf einem Rechner
nicht 2 mal starten kann, um das ganze lokal (auf einem PC) zu testen. Bekomme eine
Fehlermeldung. Weiß jemand warum das nicht geht!
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, IdUDPServer, IdBaseComponent, IdComponent,
IdUDPBase, IdUDPClient, XPMan;
type
TIdSocketHandle = THandle;
type
TForm1 =
class(TForm)
IdUDPClient1: TIdUDPClient;
IdUDPServer1: TIdUDPServer;
SpeedButton1: TSpeedButton;
XPManifest1: TXPManifest;
procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
anzahl: integer;
stream:
string;
implementation
{$R *.dfm}
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var msg:
string;
begin
showmessage('
aktualisiert');
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
IdUDPClient1.Send('
255.255.255.255',33,'
');
end;
end.
Kann man die gleiche UDP-Anwendungen nicht 2 mal auf einem Rechner starten? muss ich
einen anderen Port wählen oder so? Was müßte ich dazu in meinem Test-Prog einbinden?
Beste Grüße
Mitchl