Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi UDP-Anwendung mehrfach starten... (https://www.delphipraxis.net/40220-udp-anwendung-mehrfach-starten.html)

Mitchl55 12. Feb 2005 15:58


UDP-Anwendung mehrfach starten...
 
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

Mitchl55 3. Mär 2005 11:00

Re: UDP-Anwendung mehrfach starten...
 
Hallo,

bisher konnte ich im INET nichts finden. Aber denke trotzdem
das es nicht möglich ist, den gleichen Port 2 mal zu nutzen!

Gruß

Mitchl

jim_raynor 3. Mär 2005 11:23

Re: UDP-Anwendung mehrfach starten...
 
Zitat:

Zitat von Mitchl55
Hallo,

bisher konnte ich im INET nichts finden. Aber denke trotzdem
das es nicht möglich ist, den gleichen Port 2 mal zu nutzen!

Gruß

Mitchl

Du kannst nicht zwei mal den gleichen Port als Server auf dem gleichen Rechner öffnen.

Kedariodakon 3. Mär 2005 11:50

Re: UDP-Anwendung mehrfach starten...
 
Also der Client kann immer auf den selben Port des Servers connecten, egal wieviele Clients da schon connectet sind...

Aber von einunddemselben Port mehrfache Verbindungen zu öffnen ist nicht möglich...
Auch ist es nicht möglich 2 Programme auf ein und dem selben Port als Server laufen zu lassen...

Bye

alcaeus 3. Mär 2005 11:53

Re: UDP-Anwendung mehrfach starten...
 
Bei UPD ist das ein bisschen schwer möglich, da es dort AFAIR keinen wirklichen Server gibt. Mach einen Compilerschalter namens "Debug", und wenn dieser definiert ist, dann fragst du ab auf welchen Port das Programm gehn soll, und setzt diesen dann.

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz