Einzelnen Beitrag anzeigen

Chippie82

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

Client und Socket / Datenversand bzw. Empfangen

  Alt 7. Apr 2006, 13:03
Hallo Leute, ich hoffe ihr könnt mir weiterhelfen!!!???!!!

Also die Aufgabe ist es einen Clienten und einen Server zu programmieren.
(Das war bisher kein Problem und eine Verbindung läßt sich auch herstellen).
Jetzt soll auf dem Clienten und dem Server mehrere Checkboxen eingefügt werden, die voneinander abhängig sind (d.h. wenn Checkbox1=true then Checkbox2=true und umgekehrt, wenn Checkbox2=false then Checkbox1=false).

Folgende Überlegung war dem Server eine Zahl zu schicken:

Delphi-Quellcode:
procedure CheckBox1Click(Sender: TObject);
 begin
  ClientSocket1.Socket.SendText('1');
 end;
Um diese Zahl dann auf dem Server verarbeiten zu könenn und dort die zugehörige Checkbox zu aktivieren.


Hier ist mein Quelltext vom Server und Clienten:

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;
    PortClient: TEdit;
    Label3: TLabel;
    IP: TEdit;
    Label4: TLabel;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    CheckBox8: TCheckBox;
    ClientSocket1: TClientSocket;
    ServerSocket1: TServerSocket;
    Timer1: TTimer;
    PortServer: TEdit;
    Label5: TLabel;
    Beenden: TButton;
    StatusBar1: TStatusBar;
    Label6: TLabel;
    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 CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  IP: TIP;

implementation

{$R *.DFM}

procedure TIP.ClientVerbindenClick(Sender: TObject);
 begin
  clientsocket1.address:= IP.text;
  clientsocket1.port:= strtoint(PortClient.text);
  clientsocket1.active:=true;
 end;

procedure TIP.ServerVerbindenClick(Sender: TObject);
 begin
  serversocket1.port:= strtoint(PortServer.text);
  serversocket1.active:=true;
 end;

procedure TIP.BeendenClick(Sender: TObject);
 begin
  close;
 end;

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

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

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

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

procedure TIP.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
 begin
  statusbar1.simpletext:='Verbunden mit IP ' +IP.text+ ' und Port ' + PortClient.text;
 end;


end.

Über ein paar Lösungen von euch, würde ich mich sehr freuen.


Gruß

Chippie82
  Mit Zitat antworten Zitat