Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Verbindung überprüfen (https://www.delphipraxis.net/140357-verbindung-ueberpruefen.html)

rucksacksepp 16. Sep 2009 20:41


Verbindung überprüfen
 
Servuß Leute,

ich bin noch relativ neu und auch ein anfänger in delphi. Aber ich habe spaß am lernen (aber nur die sachen die mir gefallen, schulisches gehört dann doch nicht dazu :lol: )

also, ich habe ein kleines programm geschrieben dass mittels tserversocket und tclientsocket eine verbindung aufbaut.
Was ich bezwecken will ist ein kleines programm, das mir zugriff auf andere pc's in MEINEM netzwerk erlaubt. (nochmals, MEIN heimnetzwerk mit ca. 5 rechner)

hab mich ein bisschen an dieses programm orientiert: http://www.informatik-treff.de/mater...t/kontakt.html

nur will ich jetzt wissen wie ich den status der verbindung nachfragen/überprüfen und auch erfolgreich ausgeben kann.

danke und gruß

kuba 16. Sep 2009 20:59

Re: Verbindung überprüfen
 
Hallo,

ich hab mich neulich auch mal mit nem Chat beschäftigt um PC fernzusteuern. dabei bin ich auf dieses Chat Tutorial gestossen. Das hat mich ganz schön weitergebracht !

kuba

edosoft 17. Sep 2009 02:16

Re: Verbindung überprüfen
 
hi!

was meinst du mit zugriff? so mit maus fernsteuer und so weiter?

rucksacksepp 17. Sep 2009 13:12

Re: Verbindung überprüfen
 
nein, von sowas kindisches halte ich nichts.

ich dachte an einen filemanager, der muss auf jeden fall drin sein, vielleicht noch einen screencapture und eine log soll erstellt werden.

aber soweit bin ich noch nicht. Wie kann ich die verbindung überprüfen bzw nachfragen und dann ausgeben??

Für Hilfe bin ich sehr dankbar

rucksacksepp 17. Sep 2009 13:17

Re: Verbindung überprüfen
 
wenn ich zum beispiel diese prozedur reinschreibe:

Delphi-Quellcode:
procedure TFrmClient.ClientSocketConnecting (Sender: TObject; Socket: TCustomWinSocket);
begin
  Memo1.Lines.Add ('Status: verbindung wird hergestellt');
end;
kommt beim compiler dauernd der error " = gefunden aber ( erwartet) "

ich verstehs nicht...

Frankfurtoder 17. Sep 2009 15:06

Re: Verbindung überprüfen
 
Ohne leerzeichen

Delphi-Quellcode:
procedure TFrmClient.ClientSocketConnecting (Sender: TObject; Socket: TCustomWinSocket);
begin
  Memo1.Lines.Add('Status: verbindung wird hergestellt');
end;

rucksacksepp 17. Sep 2009 15:32

Re: Verbindung überprüfen
 
hm habs getestet, hilft aber nichts.

so hab jetzt nochmal von vorn angefangen und in einem programm server und client verpflanzt.

will einen string senden, aber sobald ich das programm starte kommt ein socket-fehler 10049

hier mal der source: (ist einfachst geschrieben, funktioniert aber trotzdem nicht :cry: )

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ScktComp;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Panel1: TPanel;
    ServerSocket1: TServerSocket;
    ClientSocket1: TClientSocket;
    Memo1: TMemo;
    Memo2: TMemo;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ServerClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  text1, text2, da1, da2: string;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
Memo2.Clear;
ServerSocket1.Open;
ServerSocket1.Active := true;
Clientsocket1.Open;
Clientsocket1.Active := true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
text1 := Edit1.Text;
Serversocket1.Socket.SendText(text1);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
text2 := Edit2.Text;
Clientsocket1.Socket.Sendtext(text2);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Clientsocket1.Free;
  Serversocket1.Free;
end;

procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
da1 := Socket.ReceiveText;
memo1.lines.add(da1);
end;

end.

Klaus01 17. Sep 2009 15:48

Re: Verbindung überprüfen
 
Hallo,

kannst Du mal ein wenig mehr darüber kundtun?

Welche Ports nutzt Du?
Welche IP Addresse? (127.0.0.1?);

Wo kommt der Fehler?

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Clear;
  Memo2.Clear;                      
  ServerSocket1.Open;                  // <-haltepunkt setzen mit F8 weiter.
  ServerSocket1.Active := true;
  Clientsocket1.Open;
  Clientsocket1.Active := true;
end;
Grüße
Klaus

Hobby-Programmierer 17. Sep 2009 21:52

Re: Verbindung überprüfen
 
Füge das noch ein.
Delphi-Quellcode:
const
  MY_PORT = 12345;
  MY_Adr = 'localhost';

procedure TForm1.FormCreate(Sender: TObject);
begin
  ClientSocket1.Port := MY_PORT; // Port eintragen
  ClientSocket1.Host := MY_Adr; // ...Serveradresse eintragen
  ServerSocket1.Port := MY_PORT; // Port eintragen
  ...
end;
Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  Clientsocket1.Free;
  Serversocket1.Free;
end;
:gruebel: Sollte nicht eigentlich die Form als Eigentümer für die Freigabe verantwortlich sein?

rucksacksepp 17. Sep 2009 22:14

Re: Verbindung überprüfen
 
danke, aber das hab ich alles im objektinspektor gemacht, benutze port 10024 und ip eben localhost 127.0.0.1

hab jetzt schon eine stunde lang rumprobiert, aber ich finde den fehler nicht...

können server und client überhaupt in einer form sein und sich gegenseitig was schicken?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 Uhr.
Seite 1 von 2  1 2      

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