Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi kann mit idTCPServer / -Client nicht außerhalb von LANs send (https://www.delphipraxis.net/116379-kann-mit-idtcpserver-client-nicht-ausserhalb-von-lans-send.html)

judo_fritze 27. Jun 2008 16:43


kann mit idTCPServer / -Client nicht außerhalb von LANs send
 
Hab mit der Indy10-komponente TidTCPClient (und tidTCPServer) nen kleines "ChatProgramm" (also orlage für andere programme) geschrieben und kann damit auch strings innerhalb eines LAns verschicken.... aber leider nicht übers "interet"... wieso?

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, idContext, StdCtrls, IdCustomTCPServer, IdTCPServer, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient;

type
  TForm1 = class(TForm)
    IdTCPClient1: TIdTCPClient;
    IdTCPServer1: TIdTCPServer;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Edit3: TEdit;
    Button2: TButton;
    Label3: TLabel;
    ListBox1: TListBox;
    Edit4: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure IdTCPServer1Execute(AContext: TIdContext);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
IdTCPServer1.Active:= False;
IdTCPServer1.DefaultPort:=StrToInt(Edit4.Text);
IdTCPServer1.Active:= True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  with IdTCPClient1 do
    try
      Host := Edit1.Text;;
      Port := StrToInt(Edit2.Text);  
      Connect;
      ShowMessage('Connected.');
      try
        IdTCPClient1.IOHandler.WriteLn(Edit3.Text);
        ShowMessage('Gesendet.');
      finally
      Disconnect;
      ShowMessage('Disconnected.');
      end;
    finally

    end;
end;



procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
begin
ListBox1.Items.Add(AContext.Connection.IOHandler.ReadLn);
end;

DeddyH 27. Jun 2008 17:16

Re: kann mit idTCPServer / -Client nicht außerhalb von LANs
 
Bist Du über einen Router im Internet? Dann müsstest Du dort erst Portforwarding aktivieren.

Apollonius 27. Jun 2008 17:21

Re: kann mit idTCPServer / -Client nicht außerhalb von LANs
 
Nur nebenbei: Ein Try-Finally mit leerer Finally-Klausel ist reichlich sinnfrei.

judo_fritze 27. Jun 2008 18:05

Re: kann mit idTCPServer / -Client nicht außerhalb von LANs
 
wenn du mit portfreigabe meinst, dass ich den FireWallBlock meines PCs ausstellen soll, dann hab ich das getan - aber JA ich gehe über einen router ins netz.
die fehlermeldung lautet: Network unreacheable

judo_fritze 27. Jun 2008 18:22

Re: kann mit idTCPServer / -Client nicht außerhalb von LANs
 
.... nebenbei: ich verwende Delphi 2007 EP und Indy10


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 Uhr.

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