AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Wo ist der Fehler??? Sendtext-Problem
Thema durchsuchen
Ansicht
Themen-Optionen

Wo ist der Fehler??? Sendtext-Problem

Ein Thema von Amo · begonnen am 22. Jan 2006 · letzter Beitrag vom 23. Jan 2006
 
Amo

Registriert seit: 26. Okt 2005
82 Beiträge
 
Delphi 7 Enterprise
 
#1

Wo ist der Fehler??? Sendtext-Problem

  Alt 22. Jan 2006, 15:09
Ich habe ein Problem mit einer Client-Server-Verbindung. Unter benutzung der TClientSocket und TServerSocket einen Server gemacht und einen Clienten. Kein Problem mit dem Verbinden Selber, der Server zeigt auch die Verbindung an, also kein problem. Aber sobald ich mit dem Clienten einen Text (mit senttext) schicke kackt alles ab : die Verbindung bricht ab und ich bekomme die Fehlermeldung (beim Clienten), dass das Senden verhindert wurde, weil die verbindung abgebrochen wurde.

Hier Der Code von Clienten: (Button2 soll 'reconnect' sein, ist aber irrelevant)
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Client: TClientSocket;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Panel1: TPanel;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ClientError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Client.Socket.SendText('hallo');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Client.Active := false;
  Client.Active := true;
end;

procedure TForm1.ClientError(Sender: TObject; Socket: TCustomWinSocket;
  ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
  showmessage('Error!!!!!');
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  If Client.Socket.Connected = true then
  panel1.Caption := 'connected'
  else
  panel1.Caption := 'not connected';
end;

end.
Der Server müsste eigentlich auch ok sein: (Button1 soll 'restart' sein, hier auch wieder irrelevant)
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Server: TServerSocket;
    Memo1: TMemo;
    Button1: TButton;
    procedure ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure ServerClientConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServerClientDisconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure Button1Click(Sender: TObject);
    procedure ServerAccept(Sender: TObject; Socket: TCustomWinSocket);
    procedure ServerClientError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);

var
  msg: string;
begin
  server.Socket.Read(1);
  msg := server.Socket.ReceiveText;
  memo1.Lines.Add(msg);
end;

procedure TForm1.ServerClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  memo1.Lines.Add('Client connected!!!');
end;

procedure TForm1.ServerClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  memo1.Lines.Add('Client disconnected!!!');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Server.Active := false;
 server.Free;
 sleep(500);
 Server.Active := true;
 server.Open;
end;

procedure TForm1.ServerAccept(Sender: TObject; Socket: TCustomWinSocket);
begin
  memo1.Lines.Add('Accepted');
end;

procedure TForm1.ServerClientError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
  memo1.Lines.Add('ClientError!');
end;

end.
Hoffe es kann mir jemand helfen, bin hier am verzweifeln

PS: Ich habe schon bei verwandten themen geguckt aber nichts konnte mich weiterbringen.
  Mit Zitat antworten Zitat
 


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 08:08 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