AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Einen Chat mit den Sockets programmieren
Tutorial durchsuchen
Ansicht
Themen-Optionen

Einen Chat mit den Sockets programmieren

Ein Tutorial von Ultimator · begonnen am 5. Mai 2004 · letzter Beitrag vom 30. Jan 2014
Antwort Antwort
Seite 8 von 11   « Erste     678 910     Letzte »    
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#1

Re: Einen Chat mit den Sockets programmieren

  Alt 9. Apr 2008, 13:47
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 ich?

edit:
Zitat von dajuhsa:
Ich hab leider so ein Router-Modem-Allesineinem-Ding und der idIPWatch zeigt mir nur die 192.168.blabla IP an, und ich bezweifle, dass irgendein client was damit anfangen kann.
Gute Frage, komm ich da um Forwarding+dynDNS irgendwie rum?
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
Benutzerbild von bigben37
bigben37

Registriert seit: 19. Dez 2007
Ort: Freiburg
116 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Einen Chat mit den Sockets programmieren

  Alt 9. Apr 2008, 13:52
Zitat von everdream:
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 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
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Einen Chat mit den Sockets programmieren

  Alt 9. Apr 2008, 14:11
Okay, Vielen Dank (Bei wars dclsockets90.bpl statt 70)

Jetzt is alles da ^_^
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat
Benutzerbild von bigben37
bigben37

Registriert seit: 19. Dez 2007
Ort: Freiburg
116 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Einen Chat mit den Sockets programmieren

  Alt 9. Apr 2008, 14:15
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.
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Einen Chat mit den Sockets programmieren

  Alt 9. Apr 2008, 16:25
Naja BDS 2005 wird wie "D9" verwendet

Also sozusagen ist es folgender String:
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
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
WinAPI

Registriert seit: 7. Mai 2008
12 Beiträge
 
Delphi 7 Personal
 
#6

Re: Einen Chat mit den Sockets programmieren

  Alt 4. Jun 2008, 19:53
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
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Einen Chat mit den Sockets programmieren

  Alt 4. Jun 2008, 20:14
Überprüf mal auf Socket <> nil
  Mit Zitat antworten Zitat
WinAPI

Registriert seit: 7. Mai 2008
12 Beiträge
 
Delphi 7 Personal
 
#8

Re: Einen Chat mit den Sockets programmieren

  Alt 4. Jun 2008, 20:20
Nicht verfügbarer Wert beim Debuggen der Server sendet allerdings das richtige ab...

Socket = ()...
  Mit Zitat antworten Zitat
WinAPI

Registriert seit: 7. Mai 2008
12 Beiträge
 
Delphi 7 Personal
 
#9

Re: Einen Chat mit den Sockets programmieren

  Alt 4. Jun 2008, 21:00
Habe es =)
Danke trotzdem für die Hilfe
Da war irgendwie ein Memofeld buggy^^

MfG WinAPI
  Mit Zitat antworten Zitat
Spitfire

Registriert seit: 5. Jul 2008
2 Beiträge
 
#10

Re: Einen Chat mit den Sockets programmieren

  Alt 8. Jul 2008, 19:41
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 ...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 8 von 11   « Erste     678 910     Letzte »    


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:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz