Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Versenden von Strings im LAN (https://www.delphipraxis.net/33103-versenden-von-strings-im-lan.html)

TheMiller 1. Nov 2004 19:45


Versenden von Strings im LAN
 
Hey Leute,

kann ich eigentlich auch noch mit anderen Komponenten evtl auch von torry.net String bzw. Nachrichten im Lan versenden, als mit Server- ClientSocket. Denn diese scheinen bei mir unter Delphi 7 nicht richtig zu funzen. Sie connecten zwar und geben keine Fehler aus, senden aber anscheinend den String doch nicht.

Des Weiteren wollte ich evtl. auch noch Daten über's LAn versenden. Dafür empfehlen sich die Indy-Komponenten. Habt ihr tuts für diese parat? Denn ich weiß nicht, wie man per Indy eine Verbindung aufbaut...

Danke im Vorraus

StanY 1. Nov 2004 20:03

Re: Versenden von Strings im LAN
 
Du musst die Nachrichten mit einem Thread abfragen.

Daran scheiterte ich auch als Erstes.

Dazu eignet sich Luckies Tutorial.

Du erstellst einen Thread, z.b. durch die classe TThead und schreibst ein eigenes OnExecute Ereignis, welches permanent ReadLn; bei der LAN-Komponente ausführt.

alcaeus 1. Nov 2004 20:09

Re: Versenden von Strings im LAN
 
Hi StanY,

Zitat:

Zitat von StanY
Du erstellst einen Thread, z.b. durch die classe TThead und schreibst ein eigenes OnExecute Ereignis, welches permanent ReadLn; bei der LAN-Komponente ausführt.

vergib mir meinen Sarkasmus, aber damit du die dann Anzeigen kannst, musst du sie zuerst in einer Datenbank abspeichern (Sorry, aber der musste sein :mrgreen:).

@DJ-SPM: Was genau hat bei den Server- und ClientSockets nicht funktioniert? TClientSocket kennt das Ereignis [b]OnRead[/], welches ausgelöst wird, sobald Daten am Socket ankommen.
Und zum zweiten Problem: Wenn du Strings über die Sockets versenden kannst, dann funktioniert dies auch mit Streams usw.

Greetz
alcaeus

StanY 1. Nov 2004 20:14

Re: Versenden von Strings im LAN
 
alcaeus, ich verstehe nicht : D

Ich denke, er hat das Problem, dass der Client zwar Connected, aber, obwohl ein OnRead Ereignis geschrieben wurde, keine Daten ankommen. Dasselbe Problem hatte ich auch, da ich nicht wusste, dass man die Nachrichten per Thread abfragen muss. - Ich denke, das meinte er, berichtigt mich, wenn nicht. ^^

alcaeus 1. Nov 2004 20:19

Re: Versenden von Strings im LAN
 
Hi Stany,

Zitat:

Zitat von StanY
alcaeus, ich verstehe nicht : D

musst du nicht, es war auch nicht gegen dich gerichtet, sondern nur zur allgemeinen Aufheiterung ;)

Zitat:

Zitat von StanY
Ich denke, er hat das Problem, dass der Client zwar Connected, aber, obwohl ein OnRead Ereignis geschrieben wurde, keine Daten ankommen.

Er sollte uns wohl mehr Informationen zum Problem geben.

Zitat:

Zitat von StanY
Dasselbe Problem hatte ich auch, da ich nicht wusste, dass man die Nachrichten per Thread abfragen muss.

Quatsch mit Soße. In meinem Chat habe ich SendText und ReceiveText komplett ohne Threading verwendet, und siehe da, es funktioniert.

Zitat:

Zitat von StanY
Ich denke, das meinte er, berichtigt mich, wenn nicht. ^^

Ich weiß nicht was er meint :mrgreen:

Greetz
alcaeus

TheMiller 1. Nov 2004 20:20

Re: Versenden von Strings im LAN
 
Ja... ich habe immer den Status von den Socketsüberprüft und alles schien super. Dann habe ich auf senden geklickt und den Code

Delphi-Quellcode:
ClientSocket1.Socket.SendText('Hallo Welt!');
ausführen lassen. Dann mit

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
  s:String;
begin
  s:=Socket.ReceiveText;
  ShowMessage(s);
end;
Die Nachricht empfangen. Dies hat immer prima geklappt. Doch seit Delphi 7 muss man ja das Package selbst installieren. Seitdem klappt es nicht mehr.

Da klicke ich auf "Senden", alle Codes, wie bisher, werden ausgeführt und es tritt KEIN Fehler auf. Aber eine Message kommt auch nicht an... Mit Threads kenne ich mich garnicht aus!

Deshalb dachte ich mir, dass ich zu den Indy-Kompos wechsele, da ich damit auch Dateien senden kann...

Wenn ihr allerdings eine Lösung für das Sockets-Problem habt, dann bin ich ganz Ohr, oder soll ich ganz Auge sagn ;-)
Würde besagte nämlich gerne beibehalten, da diese sehr simpel im umgang sind...

alcaeus 1. Nov 2004 20:33

Re: Versenden von Strings im LAN
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi DJ-SPM,

weil heute ein Feiertag ist, gibts mal ein kleines Testprojekt mit den Sockets. Mit meinem D7 Ent hat es einwandfrei funktioniert. Wenn es auch bei deinem D7 funktioniert, so liegt es an der Anwendung, falls es nicht funktioniert dann hast du entweder die Socketkompos falsch installiert oder dein PC hat Probleme

Greetz
alcaeus

[add]:wall: ich will gar nicht wissen das wievielte mal ich das Attachment vergessen hab :roll:[/add]

TheMiller 1. Nov 2004 20:34

Re: Versenden von Strings im LAN
 
Hey danke. Da bin ich aber mal gespannt, ob ich wieder mist gebaut habe, oder ob ich "mal" unschuldig bin :-D

alcaeus 1. Nov 2004 20:39

Re: Versenden von Strings im LAN
 
Hi DJ-SPM,

ich weiß nicht ob du es bemerkt hast, aber ich hab das Attachment vorhin vergessen :wall:
Siehe obiger Beitrag

Greetz
alcaeus

TheMiller 1. Nov 2004 20:44

Re: Versenden von Strings im LAN
 
Ok...

ich habe meinen Fehler... meinen Fehler :wall:

Ich danke dir / euch... Ich muss jetzt nicht sagen, was ich falsch gemacht habe, oder?
Ok, alles funzt wie immer. Die Codes sind die gleichen und immer an die Tuts hängen, wenn Fehler auftreten...

Danke!

Bye

PS: Dann kann das Coden ja weitergehen!!!! :bouncing4:

alcaeus 1. Nov 2004 20:47

Re: Versenden von Strings im LAN
 
Zitat:

Zitat von DJ-SPM
Ich muss jetzt nicht sagen, was ich falsch gemacht habe, oder?

Mich interessiert es eigentlich schon ;)

Greetz
alcaeus

TheMiller 1. Nov 2004 20:51

Re: Versenden von Strings im LAN
 
Ok, ich hatte bei OnClientRead folgendes stehen:

Delphi-Quellcode:
s:=ClientSocket1.Socket.ReceiveText;
Dabei sollte nur dies hier stehen

[delphi]s:=Socket.ReceiveText;[delphi]

Und deswegen hat er auf Stur geschaltet. Ich glaube jedenfalls, dass das der Fehler ist, denn das ist so ziemlich die einzige Abweichung unserer Codes. Achso, und dann hatte ich noch bei dem SendText nicht die Connection angegeben... :oops:

eX0r.9 11. Nov 2004 13:55

Re: Versenden von Strings im LAN
 
Danke dass du es hingeschrieben hast ! ich hatte genau den selben fehler THX !! (mein erstes socket proggy .. ^^ :drunken: )

TheMiller 11. Nov 2004 15:16

Re: Versenden von Strings im LAN
 
Bitte, kein Problem... *glückwunsch*

Ultimator 11. Nov 2004 15:19

Re: Versenden von Strings im LAN
 
Hiermit mache ich offiziell auf ein Tutorial namens "Einen Chat mit den Sockets programmieren" aufmerksam (*in Tut-Sparte schiel* ;-))


Meins :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 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