AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Server und Client

Ein Thema von Chippie82 · begonnen am 11. Mai 2006 · letzter Beitrag vom 11. Mai 2006
Antwort Antwort
Chippie82

Registriert seit: 6. Okt 2005
Ort: Schwelm
20 Beiträge
 
#1

Server und Client

  Alt 11. Mai 2006, 20:32
Hallo Leute, ich habe folgendes Problem ich habe einen Server und einen Clienten erstellt vom Clienten zum Server kann ich einen Text verschicken, wenn ich dies umgekehrt machen möchte, bekomme ich eine Fehlermeldung. Woran liegt das?


Hier der Quelltext:
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TIP = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    ClientVerbinden: TButton;
    ClientTrennen: TButton;
    ServerVerbinden: TButton;
    ServerTrennen: TButton;
    ClientSocket1: TClientSocket;
    ServerSocket1: TServerSocket;
    Beenden: TButton;
    StatusBar1: TStatusBar;
    ClientSenden: TButton;
    ServerSenden: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Memo1: TMemo;
    Memo2: TMemo;
    procedure ClientVerbindenClick(Sender: TObject);
    procedure ServerVerbindenClick(Sender: TObject);
    procedure BeendenClick(Sender: TObject);
    procedure ClientTrennenClick(Sender: TObject);
    procedure ServerTrennenClick(Sender: TObject);
    procedure ClientSocket1Disconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure ClientSocket1Connect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSendenClick(Sender: TObject);
    procedure ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServerSendenClick(Sender: TObject);
    procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
IP:TIP;

implementation

{$R *.DFM}

procedure TIP.ClientVerbindenClick(Sender: TObject); //Verbindung des Clienten
 begin
  clientsocket1.active:=true; //Verbindung wird aktiviert
 end;

procedure TIP.ServerVerbindenClick(Sender: TObject); //Verbindung des Servers
 begin
 serversocket1.active:=true; //Verbindung wird aktiviert
 end;

procedure TIP.BeendenClick(Sender: TObject);
 begin
  close; //Programm wird beendet
 end;

procedure TIP.ClientTrennenClick(Sender: TObject);
 begin
  clientsocket1.active:=false; //Client wird getrennt
 end;

procedure TIP.ServerTrennenClick(Sender: TObject);
 begin
  serversocket1.active:=false; //Server wird getrennt
 end;

procedure TIP.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
 begin
  statusbar1.simpletext:='Verbindung wurde getrennt'; //Statusanzeige
 end;

procedure TIP.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
  ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
   begin
    statusbar1.simpletext:='Error. Verbindung wird getrennt!'; //Statusanzeige
    clientsocket1.Active:=false; //Bei Fehler wird Verbindung getrennt
  end;

procedure TIP.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
 begin
  statusbar1.simpletext:='Verbunden'; //Statusanzeige
 end;


procedure TIP.ClientSendenClick(Sender: TObject);
 begin
  clientsocket1.socket.sendtext(edit1.text);
end;

procedure TIP.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  empfang:string;
   begin
    empfang:=socket.receivetext;
    memo2.lines.add(empfang);
end;

procedure TIP.ServerSendenClick(Sender: TObject);
 begin
 serversocket1.socket.sendtext(Edit2.text);
end;

procedure TIP.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
 var
 empfang2:string;
  begin
   empfang2:=socket.receivetext;
   memo1.lines.add(empfang2);
end;

end.

Ich hoffe ihr könnt mir einen Tip geben oder mir weiterhelfen?


Gruß

Chippie
  Mit Zitat antworten Zitat
Chippie82

Registriert seit: 6. Okt 2005
Ort: Schwelm
20 Beiträge
 
#2

Re: Server und Client

  Alt 11. Mai 2006, 20:35
Hier ist noch die Fehlermeldung:
Zitat:
Im Projekt Project1.exe ist eine Exception der Klasse ESocketError aufgetreten. Meldung:
'Windows-Socket-Fehler: Eine Anforderung zum Senden oder Empfangen von Daten wurde verhindert, da der Socket nicht verbunden ist und (beim Senden über einen Datagrammsocket mit einem sendto-Aufruf) keine Adresse angegeben wurde (10057), auf API'send". Prozeß wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen.

Chippie
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Server und Client

  Alt 11. Mai 2006, 20:40
du musst an die einzelnen clients schicken bei serversocket gibt es keinen allgemeinen aufruf glaub ich.

Serversocket1.Socket.Connections[0].Sendtext(text); sollte der richtige aufruf sein

Edit : Connections nicht Connection
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
Chippie82

Registriert seit: 6. Okt 2005
Ort: Schwelm
20 Beiträge
 
#4

Re: Server und Client

  Alt 11. Mai 2006, 20:51
Wenn ich dort dann Connection eintrage, bekomme ich die Fehlermeldung Connection sei nicht definiert, weiß aber auch nicht als was ich das deklarieren muss, wenn man das überhaupt muss?


Gruß

Chippie
  Mit Zitat antworten Zitat
Chippie82

Registriert seit: 6. Okt 2005
Ort: Schwelm
20 Beiträge
 
#5

Re: Server und Client

  Alt 11. Mai 2006, 20:56
Ups, blöder Fehler hab ein s bei Connection vergessen. Dann geht es, Danke.

Vielen Dank nochmal.


Gruß


Chippie
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 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