Einzelnen Beitrag anzeigen

Mitchl55

Registriert seit: 20. Feb 2003
Ort: Meppen
159 Beiträge
 
Delphi 7 Enterprise
 

UDP-Anwendung mehrfach starten...

  Alt 12. Feb 2005, 15:58
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
  Mit Zitat antworten Zitat