Delphi-PRAXiS
Seite 8 von 11   « Erste     678 910     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi Einen Chat mit den Sockets programmieren (https://www.delphipraxis.net/21622-einen-chat-mit-den-sockets-programmieren.html)

bigben37 9. Apr 2008 13:52

Re: Einen Chat mit den Sockets programmieren
 
Zitat:

Zitat von everdream
Zitat:

Zitat von Ultimator
Es werden dabei TClientSocket und TServerSocket verwendet.

Ich fühle mich grade ein bischen wie ein Kastrierter im Bordell... es ist alles total einfach, nur irgendwas Grundlegendes fehlt.
Genauer gesagt habe ich jetzt eine Viertel Stunde lang die o.g. Komponenten gesucht. Wo genau find' ich die / welche uses brauche


In der Toolpalette unter Internet.

Wenn es da nicht ist, dann


Zitat:

Zitat von Ultimator
Wie damals schon hier im Thread geschrieben ;)
Geh aufs Menü "Komponente"->"Packages installieren"->"Hinzufügen"->Ins Verzeichnis "\Delphi7\Bin" wechseln->Datei "dclsockets70.bpl" doppelklicken->Ins Register "Internet" schauen und freuen :mrgreen:


everdream 9. Apr 2008 14:11

Re: Einen Chat mit den Sockets programmieren
 
Okay, Vielen Dank (Bei wars dclsockets90.bpl statt 70)

Jetzt is alles da ^_^

bigben37 9. Apr 2008 14:15

Re: Einen Chat mit den Sockets programmieren
 
Zitat:

Zitat von everdream
Okay, Vielen Dank (Bei wars dclsockets90.bpl statt 70)

Jetzt is alles da ^_^

Bei mir ist es dclsockets100.bpl

Ich denke, das kommt auf die Version von Delphi an.

xZise 9. Apr 2008 16:25

Re: Einen Chat mit den Sockets programmieren
 
Naja ;) BDS 2005 wird wie "D9" verwendet ;)

Also sozusagen ist es folgender String:
Delphi-Quellcode:
FileName := Format('dclsockets%d0.bpl', [Delphiversion]);
(ACHTUNG: Dieser Code funktioniert so nicht!)

Also bei 7 ist es "70" und bei TD/BDS2006 ist es 100.

MfG
xZise

WinAPI 4. Jun 2008 19:53

Re: Einen Chat mit den Sockets programmieren
 
Hallo :) Ich habe eben gerade mich durch das Tutorial gekämpft...
aber irgendwie klappts an einer stelle nicht =(

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Client: TClientSocket;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Button1: TButton;
    Label1: TLabel;
    Button2: TButton;
    GroupBox3: TGroupBox;
    Button3: TButton;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Edit3: TEdit;
    Button4: TButton;
    Memo1: TMemo;
    XPManifest1: TXPManifest;
    Server: TServerSocket;
    Button5: TButton;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure Button3Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Delay(time: word);
    procedure ClientRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure Button4Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Nickname: String;


implementation


{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
begin
Server.Active := True;
Label1.Font.Color := clgreen;
Label1.Caption := 'Server gestartet';

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Server.Close;
Server.Active := False;
Label1.Font.Color := clred;
Label1.Caption := 'Server nicht gestartet';
end;

procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var I: Integer;
    test: String;
begin
  test := Socket.ReceiveText;
  For I := 0 to Server.Socket.ActiveConnections - 1 do
   begin with Server.Socket.Connections [I] do
    if (Connected) then SendText(test);
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Client.Host := Edit2.Text;
Client.Active := True;
Nickname := Edit1.Text;
Label4.Caption := 'Verbunden mit : ' + Client.Host;
Label4.Font.Color := clgreen;
Delay(500);
Client.Socket.SendText(Nickname + ' hat sich angemeldet.')
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
Client.Active := False;
Label4.Caption := 'Nicht Verbunden';
Label4.Font.Color := clred;

end;

procedure TForm1.delay(time:word);
var Start: Integer;
begin
Start:=GetTickCount;
while (GetTickCount)-(Start) <= time do
Application.ProcessMessages;
end;

procedure TForm1.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText); [b]<<< Hier stoppt es[/b]
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Client.Socket.SendText(Edit3.Text);
end;

end.
Es kommt eine Zugriffsverletzung...

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project2.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00456EFC in Modul 'Project2.exe'. Lesen von Adresse 00000220'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.




Danke für eure Antworten :)

Die Muhkuh 4. Jun 2008 20:14

Re: Einen Chat mit den Sockets programmieren
 
Überprüf mal auf Socket <> nil

WinAPI 4. Jun 2008 20:20

Re: Einen Chat mit den Sockets programmieren
 
Nicht verfügbarer Wert beim Debuggen der Server sendet allerdings das richtige ab...

Socket = ()...

WinAPI 4. Jun 2008 21:00

Re: Einen Chat mit den Sockets programmieren
 
Habe es =) :zwinker:
Danke trotzdem für die Hilfe :)
Da war irgendwie ein Memofeld buggy^^

MfG WinAPI

Spitfire 8. Jul 2008 19:41

Re: Einen Chat mit den Sockets programmieren
 
Hi ...

Ich habe das selbe Problem, was hier schonmal angesprochen, allerdings nicht richtig beantwortet wurde:


Beim Setzen der IP im Client: "Asynchronous socket error 10049."
Auf meinem Vista PC lautet sie wie folgt: "Windows socket error: Die angeforderte Adresse ist in diesem Kontext ungültig (10049), on API 'connect'".

Irgendwer meinte, dass in diesem Fall der Client zu viele Signale hinternander sendet, aber wie kann man das beheben?


Vielen Dank im Voraus ...

bob_aus_der_flasche 6. Sep 2008 23:17

Re: Einen Chat mit den Sockets programmieren
 
der fehler kommt bei mir auch

wie soll das denn funzen xDDD

kapier nix von dem prog


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:07 Uhr.
Seite 8 von 11   « Erste     678 910     Letzte »    

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