Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Chatsoftware ... TServer/TClient + TCPServer/TCPClient (https://www.delphipraxis.net/48017-chatsoftware-tserver-tclient-tcpserver-tcpclient.html)

Joker 19. Jun 2005 13:33


Chatsoftware ... TServer/TClient + TCPServer/TCPClient
 
Ihr werdet es nicht glauben, aber wieder jemand der sich an einer Chatspftware versucht! ;-)
Bevor ich nun diesen Thread aufgemacht habe, habe ich einiges gelesen und studiert, aber leider nicht die
richtige Antwort gefunden.

Aufbau meines Chats:

- Texte/Nicknames und Textbefehle werden über TServer bzw. TClientSockets abgearbeitet.
- Filetransfer läuft über TCPServer bzw. TCPClient.

Jetziger Stand:

-Meldet sich an - gibt den angebenen Nickname an den Server weiter. Server liest die Nicknames in eine
Listbox ein und schickt diese Liste an alle verbundenen Clients, die wiederum auch diese Liste in eine Listbox
einlesen und anzeigen.Über diese TServer/TClientSockets können auch PM's verschickt werden usw.

-Die Clients haben die Möglichkeit einen Filetransfer zum Server zu machen (über TCPClient/TCPServer) und der
TCPServer empfängt diese und verspeichert sie in einen Fileordner.

Problem:

Nun soll der Server die Möglichkeit haben (über TCPServer/TCPClient) diese Dateien auch wieder an bestimmte Clients
versenden zu können. Die Identifikation soll über die Nicknames in der Listbox laufen. Leider habe ich keinen Schimmer wie
ich das bei TCPServer zu TCPClient realisieren kann. Bei TServer bzw. TClient Sockets ist das einfach, da ich dort den Listbox.ItemIndex verwenden kann und diesen dann über Connections[Listbox.ItemIndex] and die betrefende Person schicken kann.

Wie ist es nun möglich über den TCPServer einen Nickname der Listbox eine Datei zuschicken zu können, damit der TCPClient diese
komplett empfangen kann und in einem speziellen Fileordner wieder verspeichert?

Wäre für jede Hilfe dankbar!!

Gruß,

Joker

PS: Nachtrag - Ich arbeite mit Delphi 7 Pro (TCPServer/TCPClient) und den D6 TServerSocket/TClientSocket ...

Zacherl 19. Jun 2005 13:56

Re: Chatsoftware ... TServer/TClient + TCPServer/TCPClient
 
Hallo,
guck dir mal das an!

Florian

Joker 19. Jun 2005 14:29

Re: Chatsoftware ... TServer/TClient + TCPServer/TCPClient
 
Hallo Florian,

das hab ich bereits mehrfach! ;-) Aber du benutzt eigene Custom Sockets und ich möchte gerne die Standard Sockets
benutzen. Müßte doch auch möglich sein, oder?

Nun habe ich versucht den Transfer der Dateien vom Server zu bestimmten Clients über die TServerSocket/TClientSocket
zu erreichen. Es funzt auch, daß ich den Client über den Listboxindex ansprechen kann, aber beim verspeichern der
Datei im Client bekomm ich einen OutOfResources des RichEdits (Anzeigefelds für TextNachrichten).

Verstehe nicht warum er das File im Client nur teilweise in eine Datei schreibt, aber trotzdem versucht dieses File
auch im RichtEdit auszugeben? Komisch, oder? Wenn ich nun zum Test eine .txt Datei vom Server an den bestimmten Client schicke,
dannerstellt sich zwar eine Datei mit dem gleichen Namen - ist aber mit 0 Bytes belegt und der Inhalt des Streams wird in
dem Client RichEdit ausgegeben --- als wenn ich SendText verwendet hätte .. aber SendStream im Server benutzt habe ...

Eine Idee eurerseits? Danke!!

Greetz

Joker


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