Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Socket (https://www.delphipraxis.net/46359-socket.html)

Matrix Scripter 23. Mai 2005 17:28


Socket
 
Also ich wollte da ein bisschen üben und steh jetzt schon vor einem Fehler....:(

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
//initialisieren der sockets
  Server := TServerSocket.Create(Form1);
  Client := TClientSocket.Create(Form1);
  label2.Caption := IPWatch.LocalIP;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Client.Active = true then
  begin
    Client.Socket.SendText(edit1.Text);
    delay(500);
    edit1.clear;
  end;
end;

procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var msg: string;
begin
  Memo1.Lines.Add(Socket.ReceiveText);
end;

procedure TForm1.delay(time:word);
var start: integer;
begin
  start := GetTickCount;
  while (GetTickCount) - (start) <= time do
    Application.ProcessMessages;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
  Server.Free;
  Client.Free;
end;

procedure TForm1.ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
   Memo1.Lines.Add('**connected')
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  //Port zuweisein
  Server.Port := 44044;
  Client.Port := 44044;
  //listening status on / connecten
  try
    Client.Host := IPWatch.LocalIP;
    Server.Open;
    Client.Open;
  except
    Application.MessageBox('Verbinden fehlgeschlagen','Fehler',0+48);
    Server.Free;
    Client.Free;
    close;
  end;
end;

procedure TForm1.ClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Memo1.Lines.Add('**Disconected');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Server.Close;
  Client.Close;
end;

end.
Findet da jmd einen Fehler?

mfG Matrix Scripter

Nils_13 23. Mai 2005 17:59

Re: Socket
 
Welcher Fehler ?

Matrix Scripter 23. Mai 2005 18:02

Re: Socket
 
Es passiert gar nix..bei mir
So ein mist! :wall:

Zacherl 23. Mai 2005 18:18

Re: Socket
 
So mach ichs immer!

Delphi-Quellcode:
procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var msg: string;
begin
  msg := Socket.ReceiveText;
  Memo1.Lines.Add(msg);
end;
Als Client.Host mach mal 127.0.0.1.

Florian

Matrix Scripter 23. Mai 2005 19:30

Re: Socket
 
funktioniert auch nicht.
Ich hab keine Ahunung warum.... :twisted:

Aenogym 23. Mai 2005 19:37

Re: Socket
 
hi,

vielleicht blockt deine firewall den datenfluss.

wie kommst du eigentlich auf port 44044?

aenogym

Matrix Scripter 23. Mai 2005 19:56

Re: Socket
 
Nein die Firewall macht nix. Daran liegts nicht....
Den port hab ich aus einem Tutor...
Weiss keiner woran es liegen könnte?

prinz_inzide 23. Mai 2005 20:18

Re: Socket
 
hab exakt das gleiche problem!
hab die frage hier (leider unbeantwortet) und dann im DF gestellt, dort war einer der hatte ahnung.
muss dir leider sagen dass es ohne größeren aufwand nicht gehn wird!
das problem ist nämlcih, dass du deine socket dyn. erstellt anders wärs null problem (alles s. Thread im DF).

hier mal der thread (ausm DF) zum lesen:
http://www.delphi-forum.de/topic_42409.html

hoffe ich konnt helfen!

bis denne

alcaeus 23. Mai 2005 20:21

Re: Socket
 
@Matrix Scripter: hast du es schon mal mit Sockets versucht, die du auf die Form setzt? Hast du den Komponenten auch die entsprechenden Ereignisse zugewiesen:
Delphi-Quellcode:
Server.OnClientRead := ServerClientRead
Weiters: der try-except-Block beim Connecten ist überflüssig. Fast alle Fehler werden übers OnError-Ereignis ans Programm weitergereicht, da sie erst später auftreten und die Sockets IDR non-blocking sind.

Greetz
alcaeus

Matrix Scripter 23. Mai 2005 21:04

Re: Socket
 
Hey danke! Jetzt klappt es :-)
Aber ich verstehe nicht ganz...ich habe die Sockets auf die form gesetzt von der internet pallette...
wieso musste ich trotzdem
Delphi-Quellcode:
Server.OnClientRead := ServerClientRead
schreiben?

mfG Matrix Scripter :-D :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:07 Uhr.
Seite 1 von 2  1 2      

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